列式数据库 - 可以查询(聚合)压缩数据

时间:2014-03-01 15:44:42

标签: database nosql hbase amazon-redshift

我想运行聚合查询(比如,在列/ colfam中对某些rowkey重复值'1'多少次。我想对压缩数据运行这些查询,因为它们可以提供更好的性能,我们可以完全跳过减压。

我目前正在使用HBASE的聚合客户端,它看起来像(尚未检查源代码......可能是错误的)Hbase使用其b-tree索引查找rowkeys,解压缩该块并按顺序读取数据。有没有办法跳过解压缩过程?

看起来Redshift(ParAccel)也在以相同的方式进行聚合。

如何通过处理压缩数据使HBase计算得分。如果这不可能,是否有任何其他柱状数据库提供此功能。

1 个答案:

答案 0 :(得分:1)

Redshift采用"区域地图"避免不必要的减压。每个压缩的1MB"块"存储每列的最小/最大/计数(加上其他几个)。

每个块的内容由排序键定义。如果您的查询与排序键对齐(并且可以从区域映射中回答),则Redshift将不会不必要地解压缩数据。

以上所有内容都是AFAIK从阅读文档和广泛使用。当然是YMMV。