HBase prend en charge plusieurs algorithmes de compression et l'encodage des blocs de données pour réduire les coûts de stockage et améliorer les performances en lecture.
Algorithmes de compression
Alibaba Cloud HBase prend en charge les algorithmes LZO, ZSTD, GZ, LZ4, SNAPPY et NONE (aucune compression). Le tableau suivant compare les taux de compression et les vitesses de décompression observés sur des charges de travail de production.
|
Type d'activité |
Taille de la table non compressée |
LZO (Taux de compression/Vitesse de décompression en Mo/s) |
ZSTD (Taux de compression/Vitesse de décompression en Mo/s) |
LZ4 (Taux de compression/Vitesse de décompression en Mo/s) |
|
Surveillance |
419,75 To |
5,82/372 |
13,09/256 |
5,19/463,8 |
|
Journaux |
77,26 To |
4,11/333 |
6,0/287 |
4,16/496,1 |
|
Contrôle des risques |
147,83 To |
4,29/297,7 |
5,93/270 |
4,19/441,38 |
|
Enregistrements de consommation |
108,04 To |
5,93/316,8 |
10,51/288,3 |
5,55/520,3 |
Pour les charges de travail nécessitant une faible latence, utilisez LZ4.
Pour les charges de travail orientées vers le débit, telles que la surveillance ou l'IoT, utilisez ZSTD.
Encodage
L'encodage DataBlockEncoding réduit l'espace de stockage en éliminant la redondance entre les paires clé-valeur. Définissez DATA_BLOCK_ENCODING sur DIFF.
Procédure
-
Activez la compression et l'encodage sur une table.
alter 'test', {NAME => 'f', COMPRESSION => 'lz4', DATA_BLOCK_ENCODING =>'DIFF'} -
La compression et l'encodage prennent effet après une major compaction. Ce processus pouvant être long, exécutez la compaction pendant les heures creuses.
major_compact 'test'
Pour plus d'informations sur la compression et l'encodage, consultez Exploration de la compression et de l'encodage des données dans Alibaba Cloud HBase.