中文

Roaring:实现更快速且更小的压缩位图

数据库 2018-03-05 v4

摘要

压缩位图索引被用于数据库和搜索引擎。许多位图压缩技术已被提出,几乎都主要依赖于游程编码(RLE)。然而,在未排序的数据上,我们可以通过一种混合压缩技术获得更优的性能,该技术在两级树结构内部同时使用未压缩位图和打包数组。这种技术的一个实例Roaring最近已被提出。由于其良好的性能,它已被多个生产平台(例如Apache Lucene、Apache Spark、Apache Kylin和Druid)采用。然而,在某些情况下,游程编码位图比原始的Roaring位图更小——通常发生在数据已排序,从而位图包含长的可压缩游程时。为了更好地处理这些情况,我们构建了一种新的Roaring混合格式,它结合了未压缩位图、打包数组和RLE压缩段。结果是一种压缩效果更好的新Roaring格式。总体而言,我们新的Roaring实现可以比传统的基于RLE的替代方案(WAH、Concise、EWAH)的实现快数倍(最高可达两个数量级),同时压缩效果更好。我们回顾了使这些良好结果成为可能的设计选择和优化。

关键词

引用

@article{arxiv.1603.06549,
  title  = {Consistently faster and smaller compressed bitmaps with Roaring},
  author = {Daniel Lemire and Gregory Ssi-Yan-Kai and Owen Kaser},
  journal= {arXiv preprint arXiv:1603.06549},
  year   = {2018}
}