数据库中的压缩技术

主要包含了数据库中的压缩技术。

常见的编码

Dictionary Encoding

Run-Length Encoding, RLE

重复出现的数字用重复次数代替。

1
2
3
AAAAABB
==>
A5B2

Bitmap Encoding

在布尔类型等 low cardinality 数据列中效率好。对位操作很友好。

Delta Encoding

计算连续值之间的差值。

1
2
3
9999 10000 9998
==>
9999 +1 -2

ZigZag Encoding

主要解决负数的补码前导零太多影响压缩的问题。

Prefix Encoding / Huffman Encoding

使用短编码表示高频数据,长编码表示低频数据。

常见的压缩算法

LZ4

LZMA(Lempel-Ziv-Markov Chain Algorithm)

Zstd

Snappy

Zlib

GZip