Todos os produtos
Search
Central de documentação

ApsaraDB for HBase:Otimização de escrita

Última atualização: Jun 27, 2026

O ApsaraDB for HBase grava dados no HLog e na memória com base no modo Log-Structured Merge (LSM). Assim, o sistema evita operações de entrada/saída (I/O) aleatórias, o que garante alto desempenho e estabilidade nas escritas. Na maioria das soluções de banco de dados, a otimização de escrita prioriza a confiabilidade em detrimento do desempenho.

Use HTable.put(List<Put>) para agrupar várias escritas em uma única Remote Procedure Call (RPC) e reduzir a sobrecarga de rede por linha.

HTable.put(List<Put>)       

Desative o AutoFlush

Defina o Autoflush como false melhora significativamente o desempenho de escrita. Contudo, aguarde até que 2 MB de dados estejam no buffer (hbase.client.write.buffer) ou até que o comando hbase.flushcommits() seja executado antes de invocar o Autoflush em um RegionServer. Nesse cenário, os dados não são gravados no banco de dados remoto.

Configure o tamanho do buffer com HTable.setWriteBufferSize().

Otimização do servidor

Flag WAL

O Write-Ahead Log (WAL) persiste cada escrita em disco antes de confirmá-la para assegurar durabilidade. Desativar o WAL reduz o número de operações de I/O e aumenta o throughput de escrita, pois apenas as gravações na MemStore ocorrem.

Essa configuração aplica-se a cenários em que o desempenho tem prioridade sobre a confiabilidade.

Aumente a memória da MemStore

Para cargas de trabalho intensivas em escrita, aumente a alocação de memória da MemStore e reduza a alocação do BlockCache. Essa abordagem é o inverso da otimização para leitura.

Gerencie o acúmulo de HFiles

Com alto throughput de escrita, os HFiles se acumulam mais rápido do que a compactação consegue mesclá-los.

Para controlar a quantidade de HFiles:

  • Agende a compactação principal (major compaction) fora dos horários de pico para mesclar HFiles sem competir com o tráfego de escrita em tempo real.

  • Se não for possível reduzir a contagem de HFiles dentro de uma janela aceitável, adicione nós RegionServer para distribuir a carga de escrita.