数据岗位面试题更新 2026-08-05

请描述 TDengine 对时序数据压缩的处理机制,并列举并说明常见的压缩技术有哪些?

数据技术原理TDengine

考察说明

考查对 TDengine 时序数据存储中压缩机制的理解及常用压缩技术知识的掌握程度。

回答思路

  1. 【回答框架 1】TDengine 的压缩机制基于列式存储,针对时序数据的特点设计:同一测点的时间序列在物理上连续存储,便于利用数据的时间相关性进行高效压缩。压缩在数据写入磁盘前进行,主要分为两个层面:一是针对数据块的内部压缩,二是跨数据块的二级压缩。
  2. 【回答框架 2】常见的压缩技术包括:简单压缩(如增量编码、差分编码),适用于数值变化平缓的序列;统计压缩(如行程编码、字典编码),对周期性或重复值效果显著;以及基于预测的压缩(如线性预测、斜率编码),利用相邻数据点的趋势进行编码。
  3. 【回答框架 3】TDengine 还采用了混合压缩策略:对于不同类型的数据(整型、浮点、字符串等)选择合适的算法,并支持可配置的压缩级别。此外,TDengine 利用列存格式,将同列数据连续存放,进一步提高了压缩比和查询效率。
  4. 【回答框架 4】实际效果取决于数据特征,通常时序数据具有高冗余度,TDengine 的压缩比可达 10 倍以上,但具体数值需结合真实数据测试。压缩和解压过程对 CPU 有一定开销,需要在存储空间和查询性能之间权衡。
  5. 【关键点 1】TDengine 采用列式存储,利用时间序列数据的局部性进行压缩。
  6. 【关键点 2】常见压缩技术包括差分编码、行程编码、字典编码和预测编码等。
  7. 【关键点 3】TDengine 根据数据类型自动选择或配置压缩算法,并支持多级压缩。
  8. 【关键点 4】压缩比和查询性能需权衡,具体数值依赖数据特征。
  9. 【易错点 1】不要断言所有时序数据都能获得高压缩比,要强调依赖数据冗余度。
  10. 【易错点 2】避免混淆压缩与索引,压缩是存储层面,索引是查询优化。
  11. 【易错点 3】注意不同压缩算法对 CPU 开销的影响,不能只考虑压缩率。