时间序列压缩
本页介绍 MongoDB 如何压缩时间序列集合中的数据,以及如何优化压缩。
默认压缩算法
列压缩
从 MongoDB 5.2 开始,时间序列集合采用列压缩技术。列压缩引入了多项创新,这些创新点协同运作,显著改进了实际压缩效率、减少了数据在磁盘上的整体存储量,并提升了读取性能。
这些增强功能进一步减小了使用 zstd
压缩时磁盘上数据的大小,并且还显着减少了 WiredTiger 缓存使用的空间。
引入的压缩类型包括:
增量编码
对象压缩
数组压缩(从 MongoDB 6.0开始)
运行长度编码 (RLE)
增量编码(增量压缩)
增量编码利用时间序列集合中具有时间序列特征的数据。增量编码并不存储绝对值,而是假设测量之间不会快速变化。这种方法仅存储测量之间的差异,从而减少了所需的信息量。
Delta of Delta 编码(Delta of Delta 压缩)
对于单调增加的数据,通过计算增量的增量,“增量之增量”编码可以进一步减少存储数字的大小。
对象和数组压缩
列压缩可确保如果您在文档中使用对象和数组,您将获得与这些嵌入字段存在于文档根级别时相同的压缩优势。
了解详情
要了解如何优化压缩,请参阅压缩最佳实践。