Tüm Ürünler
Search
Belge Merkezi

ApsaraDB for HBase:Write optimization

Son Güncelleme:Oct 05, 2026

ApsaraDB for HBase, Log-Structured Merge (LSM) yapısını kullanarak verileri HLog ve belleğe yazar. Bu sayede ApsaraDB for HBase rastgele giriş/çıkış (I/O) işlemleri yapmaz; yazma işlemlerinde yüksek performans ve kararlılık sunar. Çoğu veritabanı çözümünde yazma işlemleri, performanstan ödün verilerek güvenilirlik için optimize edilir.

Satır başına düşen ağ ek yükünü azaltmak için birden çok yazma işlemini tek bir Uzak Yordam Çağrısında (RPC) toplayan HTable.put(List<Put>) yöntemini kullanın.

HTable.put(List<Put>)       

AutoFlush özelliğini devre dışı bırakın

Autoflush özelliğini false olarak ayarlayarak yazma performansını önemli ölçüde artırabilirsiniz. Ancak, RegionServer üzerinde Autoflush çağrısı yapmadan önce 2 MB verinin tamponlanmasını (hbase.client.write.buffer) veya hbase.flushcommits() komutunun çağrılmasını beklemenizi öneririz. Veriler uzak veritabanına yazılmaz.

Tampon boyutunu HTable.setWriteBufferSize() ile ayarlayın.

Sunucu optimizasyonu

WAL bayrağı

Write-Ahead Log (WAL), her yazma işlemini onaylamadan önce diske kaydeder ve veri dayanıklılığını garanti eder. WAL özelliğini devre dışı bırakmak I/O işlemi sayısını azaltarak yazma aktarım hızını artırır. Bu durumda yalnızca MemStore üzerinde bellek içi yazma işlemleri yapılır.

Bu işlem, güvenilirlik yerine performansı ön plana çıkaran senaryolar için uygundur.

MemStore belleğini artırın

Yazma yoğunluklu iş yükleri için MemStore bellek tahsisini artırın ve BlockCache tahsisini azaltın. Bu yaklaşım, okuma optimizasyonunun tersidir.

HFile birikimini yönetin

Yüksek yazma aktarım hızlarında HFile dosyaları, birleştirme işleminin bunları toplayabileceği hızdan daha hızlı birikir.

HFile sayısını kontrol altında tutmak için aşağıdaki adımları uygulayın:

  • Canlı yazma trafiğiyle rekabet etmeden HFile dosyalarını birleştirmek üzere büyük birleştirmeyi yoğun olmayan saatlerde planlayın.

  • HFile sayısı kabul edilebilir bir zaman aralığında azaltılamıyorsa yazma yükünü dağıtmak için RegionServer düğümleri ekleyin.