Passer au contenu principal
Le protocole ClickHouse prend en charge la compression des blocs de données avec sommes de contrôle. Utilisez LZ4 si vous ne savez pas quel mode choisir. “
Pour en savoir plus sur les codecs de compression des colonnes disponibles, et sur la manière de les spécifier lors de la création de vos tables ou ultérieurement.

Modes

valeurnomdescription
0x02NoneAucune compression, uniquement des sommes de contrôle
0x82LZ4Extrêmement rapide, bonne compression
0x90ZSTDZstandard, assez rapide, meilleure compression
LZ4 et ZSTD ont tous deux été créés par le même auteur, mais avec des compromis différents. D’après les tests de performance de Facebook :
nomratiocompressiondécompression
zstd 1.4.5 -12.8500 MB/s1660 MB/s
lz4 1.9.22.1740 MB/s4530 MB/s

Bloc

champtypedescription
checksumuint128Somme de contrôle de (header + compressed data)
raw_sizeuint32Taille brute sans en-tête
data_sizeuint32Taille des données non compressées
modebyteMode de compression
compressed_databinaryBloc de données compressées
L’en-tête est constitué de (raw_size + data_size + mode), et la taille brute correspond à len(header + compressed_data). La somme de contrôle est hash(header + compressed_data), à l’aide de ClickHouse CityHash.

Mode None

Si le mode None est utilisé, compressed_data est égal aux données d’origine. Le mode sans compression est utile pour renforcer l’intégrité des données grâce aux sommes de contrôle, car le surcoût du hachage est négligeable.
Dernière modification le 29 juin 2026