HBase mendukung berbagai algoritma kompresi dan encoding blok data untuk mengurangi biaya penyimpanan serta meningkatkan performa baca.
Algoritma kompresi
Alibaba Cloud HBase mendukung LZO, ZSTD, GZ, LZ4, SNAPPY, dan NONE (tanpa kompresi). Tabel berikut membandingkan rasio kompresi dan kecepatan dekompresi berdasarkan beban kerja produksi.
|
Business type |
Uncompressed table size |
LZO (Compression ratio/Decompression speed in MB/s) |
ZSTD (Compression ratio/Decompression speed in MB/s) |
LZ4 (Compression ratio/Decompression speed in MB/s) |
|
Pemantauan |
419,75 TB |
5,82/372 |
13,09/256 |
5,19/463,8 |
|
Logs |
77,26 TB |
4,11/333 |
6,0/287 |
4,16/496,1 |
|
Risk control |
147,83 TB |
4,29/297,7 |
5,93/270 |
4,19/441,38 |
|
Consumption records |
108,04 TB |
5,93/316,8 |
10,51/288,3 |
5,55/520,3 |
-
Untuk beban kerja berlatensi rendah, gunakan LZ4.
-
Untuk beban kerja berorientasi throughput seperti Pemantauan atau IoT, gunakan ZSTD.
Encoding
DataBlockEncoding mengurangi penggunaan penyimpanan dengan menghilangkan redundansi di antara pasangan kunci-nilai. Atur DATA_BLOCK_ENCODING ke DIFF.
Prosedur
-
Aktifkan kompresi dan encoding pada tabel.
alter 'test', {NAME => 'f', COMPRESSION => 'lz4', DATA_BLOCK_ENCODING =>'DIFF'} -
Kompresi dan encoding mulai berlaku setelah major compaction. Karena proses ini dapat memakan waktu lama, jalankan compaction tersebut selama jam sepi.
major_compact 'test'
Untuk informasi lebih lanjut mengenai kompresi dan encoding, lihat Exploring Data Compression and Encoding in Alibaba Cloud HBase.