Dokumen ini menjelaskan kompresi data dan pengkodean ApsaraDB for HBase dalam aplikasi praktis.
Algoritma Kompresi
Platform ApsaraDB for HBase mendukung algoritma kompresi berikut: LZO, ZSTD, GZ, LZ4, SNAPPY, dan NONE. Opsi NONE menonaktifkan kompresi. Tabel berikut membandingkan laju kompresi dan kecepatan dari masing-masing algoritma dalam berbagai skenario.
| Jenis bisnis | Ukuran tabel tanpa kompresi | LZO (laju kompresi/kecepatan dekompresi, Unit: MB/s) | ZSTD (laju kompresi/kecepatan dekompresi, Unit: MB/s) | LZ4 (laju kompresi/kecepatan dekompresi, Unit: MB/s) |
| Pemantauan | 419,75 TB | 5,82/372 | 13,09/256 | 5,19/463,8 |
| Log | 77,26 TB | 4,11/333 | 6,0/287 | 4,16/496,1 |
| Kontrol risiko | 147,83 TB | 4,29/297,7 | 5,93/270 | 4,19/441,38 |
| Catatan transaksi | 108,04 TB | 5,93/316,8 | 10,51/288,3 | 5,55/520,3 |
Catatan
- Disarankan menggunakan algoritma kompresi LZ4 untuk skenario dengan persyaratan waktu respons (RT) tinggi.
- Disarankan menggunakan algoritma kompresi ZSTD untuk skenario dengan persyaratan RT rendah, seperti pemantauan dan Internet of Things (IoT).
Pengkodean
ApsaraDB for HBase mendukung DataBlockEncoding, yang mengompresi data dengan mengurangi duplikasi pada HBase KeyValue. Kami merekomendasikan penggunaan DIFF untuk DATA_BLOCK_ENCODING.
Prosedur
- Ubah properti COMPRESSION dari tabel.
alter 'test', {NAME => 'f', COMPRESSION => 'lz4', DATA_BLOCK_ENCODING =>'DIFF'} - Modifikasi tidak akan langsung diterapkan. Anda harus melakukan kompaksi besar agar perubahan dapat berlaku. Proses kompaksi besar memerlukan waktu lama, sehingga disarankan melakukannya selama jam-jam sepi.
major_compact 'test'
Catatan Untuk informasi lebih lanjut, lihat Eksplorasi Kompresi dan Pengkodean ApsaraDB for HBase.