一文中在行式存储中模拟了列式范式设计:
通过将表结构垂直拆分以及全列建索引,就可以在查询时,只查询部分列对应的数据,从而加快分析速度。...无序且区分度不多
可以使用位图构造每个列取值出现的行位置,如:一列的数据为0,0,1,1,1,0,0,2,2,
则编码为 (0, 110001100)、(1, 001110000) 和 (2,000000011...有序且区分度多
这时候可以使用等差数列(每个数值表示为前一个数值加上一个变化量)来减小数据的存储。如:对于一列数据 1,4,7,7,8,12,
可以表示为序列 1,3,3,0,1,4。...Apache ORC的分区索引结构如下:
ORC将数据结构分成以下 3 个层级,在每个层级上都有索引信息来加速查询。...Row-Group Level :一列中的每 10000 行数据构成一个 row-group,每个 row-group 拥有自己的 row-level 索引,信息同上。