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*扩展为流式Elf*(即SElf*),它在实现与Elf*几乎相同压缩率的同时,在流式场景中享有更高的效率。我们使用22个数据集将Elf*和SElf*与8个竞争算法进行了比较。结果表明,与最佳的流式竞争算法相比,SElf*在保持类似效率的情况下实现了9.2%的相对压缩率提升,而Elf*则跻身于最具竞争力的批处理压缩算法之列。所有源代码均已公开发布。