• 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异步转成列式存储?
    
    