wd
2021-10-29
试着回答一下这个思考题:"为什么采用列存储之后,数据的压缩率也能提升呢?" 一些取值比较连续分布的数据,在使用列存储以后,可以利用 runlength encoding 类似的压缩方法大大提高压缩率。因为这些数据的值会在一个比较小的区间范围内变动,存储的时候只要存delta就行了;一个通常64-bit的数值的delta可能只需要4个bit来存。
13
在路上
2021-11-02
徐老师好,在《数据密集型计算系统》第3章介绍了列式存储,当数据按列存储时,可以采用位图编码来对数据压缩。用一个数组 A 保存所有出现的值,列存储中的值用位图表示,比如某行某列的值为00001000,表示这个值对应数值 A 中下标为4的值(起始下标为0)。所有的列的值都是都是差不多的数字,放在一起可以进一步压缩。这样一来,数据的压缩率就提升了。
共 1 条评论
5
Steven
2021-10-29
列存储压缩率上升应该是相同数据类型的每一列都可以提高压缩率
2
阿橦木
2021-10-29
code: en-us country:us在数据结构中的位置都一样,为何d值一个是2一个是3呢?
共 4 条评论
1
Eternal
2023-03-22
来自重庆
一列的值相似度很高,比如姓名,长度,和名字重复率很高,二次编码可以降低很多空间
cpzhao
2022-12-09
来自广东
我们用来分析的列存储数据,可以直接通过一个 MapReduce 程序,进行数据格式转换来生成。 这句有人能解释下吗,没明白写入的时候怎么弄,是存两份数据,用一个mapreduce异步转成列式存储?