Lossless floating-point time series compression is crucial for a wide range of critical scenarios. Nevertheless, it is a big challenge to compress time series losslessly due to the complex underlying layouts of floating-point values. The state-of-the-art erasing-based compression algorithm Elf demonstrates a rather impressive performance. We give an in-depth exploration of the encoding strategies of Elf, and find that there is still much room for improvement. In this paper, we propose Elf*, which employs a set of optimizations for leading zeros, center bits and sharing condition. Specifically, we develop a dynamic programming algorithm with a set of pruning strategies to compute the adaptive approximation rules efficiently. We theoretically prove that the adaptive approximation rules are globally optimal. We further extend Elf* to Streaming Elf*, i.e., SElf*, which achieves almost the same compression ratio as Elf*, while enjoying even higher efficiency in streaming scenarios. We compare Elf* and SElf* with 8 competitors using 22 datasets. The results demonstrate that SElf* achieves 9.2% relative compression ratio improvement over the best streaming competitor while maintaining similar efficiency, and that Elf* ranks among the most competitive batch compressors. All source codes are publicly released.
翻译:无损浮点数时间序列压缩对众多关键场景至关重要。然而,由于浮点数值的复杂底层布局,对时间序列进行无损压缩仍是一项巨大挑战。当前最先进的基于擦除的压缩算法Elf表现出相当优异的性能。我们对Elf的编码策略进行了深入探索,发现仍有很大的改进空间。本文提出Elf*,该算法对前导零、中心位和共享条件采用了一系列优化策略。具体而言,我们开发了一种结合剪枝策略的动态规划算法,用于高效计算自适应近似规则,并从理论上证明这些自适应近似规则是全局最优的。我们进一步将Elf*扩展为流式版本SElf*,其在保持与Elf*几乎相同压缩比的同时,在流式场景中实现了更高的效率。我们使用22个数据集将Elf*和SElf*与8个竞品算法进行了比较。结果表明,SElf*在保持类似效率的前提下,相对于最佳流式竞品算法实现了9.2%的压缩比提升,而Elf*则跻身最具竞争力的批处理压缩器之列。所有源代码均已公开发布。