中文

Upscaledb:在键值存储中使用 SIMD 指令实现高效整数键压缩

数据库 2017-01-18 v2

摘要

压缩有时可以通过使更多数据更快地供处理器使用来提高性能。我们考虑了 B+-树索引中整数键的压缩。为此,诸如 IBM DB2 等系统在差分编码的键上使用可变字节压缩。我们重新审视了这个问题,并采用了多种压缩替代方案,例如 Google 的 VarIntGB、二进制打包和参照系压缩。在所有情况下,我们都描述了可以直接在压缩数据上操作的算法。我们的许多替代方案利用了现代 CPU 支持的单指令多数据 (SIMD) 指令。我们在由生产级键值数据库 Upscaledb 提供的数据库环境中评估了我们的技术。我们最好的技术是 SIMD 加速的:它们同时减少了内存使用并提高了单线程速度。特别是,一种差分编码的 SIMD 二进制打包技术 (BP128) 可以提供卓越的查询速度(例如,比未压缩数据库快 40%),同时提供最佳的压缩效果(例如,压缩至十分之一)。对于分析型工作负载,我们的快速压缩技术提供了引人注目的优势。我们的软件以开源形式提供。

关键词

引用

@article{arxiv.1611.05428,
  title  = {Upscaledb: Efficient Integer-Key Compression in a Key-Value Store using SIMD Instructions},
  author = {Daniel Lemire and Christoph Rupp},
  journal= {arXiv preprint arXiv:1611.05428},
  year   = {2017}
}