同样的数据,排序键顺序不一样,数据量差30%

Viewed 80

Doris版本:doris-2.0.9-5c2fca80b0
建表语句1:
image.png
建表语句2:
image.png
同样使用lz4压缩方式,唯一的区别就是,主键排序字段不一样
表一使用lz4压缩,主键顺序event_name(varchar100)排在首位,show data 大小为 5.203 GB
表一使用lz4压缩,主键顺序event_time(datetime)排在首位,show data 大小为 3.815 GB
为何仅仅修改了排序键的顺序,占用磁盘空间差距近30%?
主键顺序不同,是否有索引数据占用了空间?

1 Answers

数据的顺序不同,空间肯定也有差距的。
举个例子:
比如数据存储 1-1000w 的数字,存储 1000 次,也就是每个数字 1000 次,一种极端的序是 1000 个 1,1000 个 2,1000 个 3...这种编码以及压缩效果就会很高,另外一种极端的是 1 1000w 2 1000w-1 就这样交叉,这种压缩效果相比前一个就会差些。

参考一个帖主的测试:
image.png