☰
拆解时序数据库的“存、导、查”:编码压缩、批量写入与超表机制的技术逻辑
2026/10/15 1:22:54 网站建设 项目流程

拆解时序数据库的“存、导、查”:编码压缩、批量写入与超表机制的技术逻辑

本文从技术原理与实测数据两个层面,解析金仓时序数据库在工业场景下的三项核心优化:存储压缩、历史数据快速插入、时序超表。


一、问题定义:工业时序数据的负载特征

在工业互联网、能源数字化和智能制造场景中,时序数据具有一组非常稳定的负载特征。理解这些特征,是理解后文所有优化手段的前提。

特征表现对数据库的影响
规模大设备数量多,观测点可达百万、千万级总行数迅速进入百亿、千亿量级
增长快采样频率高,持续不断写入写入吞吐是长期压力,而非瞬时压力
周期长历史数据需保留数年存储成本随时间累积,压缩收益被不断放大
追加为主数据基本按时间顺序产生,极少更新可以针对顺序追加优化写入与存储
查询有规律多为按时间范围、按设备的曲线或趋势查询数据组织方式应贴合时间维度

通用关系型数据库的设计目标是兼顾各类事务与查询,面对上述负载时,会在存储冗余、批量写入效率和范围查询效率三处同时出现压力。金仓时序数据库的优化,正是分别针对这三处展开。


二、存储压缩:利用时序数据的内在规律

2.1 压缩为什么有效

数据压缩的本质,是识别并消除冗余。时序数据的冗余来自两个层面:

  1. 时间戳列:固定周期采集时,相邻时间戳的差值(间隔)基本恒定。
  2. 数值列:温度、电压、电量等物理量具有连续性,相邻采样点的数值通常非常接近。

如果采用行式存储,每一行都完整写入时间戳、设备标识和各项指标,这些可预测的内容就被重复存储了无数次。

2.2 四项技术的分工

金仓时序数据库在存储引擎层采用了 Delta-of-Delta 差值编码、Gorilla XOR 压缩、字典编码和列式存储优化。下面逐项说明其思路(原理为该类技术的通用机制,具体实现细节以产品文档为准)。

(1)Delta-of-Delta 差值编码:面向时间戳

普通差值编码(Delta)存储的是相邻两个值之差。Delta-of-Delta 则再对这个差值序列做一次差分,即存储“间隔的变化量”。

以每 15 秒采样一次为例:

原始时间戳: t0, t0+15, t0+30, t0+45, t0+60 一阶差分: - 15 15 15 15 二阶差分: - - 0 0 0

采样间隔稳定时,二阶差分几乎全为 0,可以用极少的比特位表示,时间戳列的存储开销因此大幅降低。

(2)Gorilla XOR 压缩:面向浮点指标

Gorilla 方案对相邻两个浮点数的二进制表示做异或(XOR)运算。数值越接近,二进制表示的高位和符号位越相似,异或结果中就会出现大量连续的 0。此时只需记录结果中“有效位”的位置和内容,而不必存储完整的 64 位浮点数。

值 A: 0100 0000 0011 0101 ... 值 B: 0100 0000 0011 0101 ... (仅低位不同) A XOR B:0000 0000 0000 0000 ... 少量有效位

对于变化平缓的工业指标,这种方式的压缩收益非常明显。

(3)字典编码:面向低基数字段

设备编码、状态标识、告警类型这类字段的特点是:行数很多,但不同取值很少(低基数)。字典编码将每个不同的取值映射为一个短整数编号,数据列只存编号,原始字符串只在字典中保存一份。

(4)列式存储优化:面向整体布局

列式存储把同一列的数据连续存放。同一列的数据类型一致、取值分布相似,前面三种编码方式才能充分发挥作用;同时,查询只涉及少数几列时,可以只读取所需列,减少无效 I/O。

小结
技术作用对象利用的数据规律
Delta-of-Delta时间戳采样间隔稳定
Gorilla XOR浮点指标相邻数值接近
字典编码低基数标签取值重复度高
列式存储整体布局同列数据同质

四项技术并不是替代关系,而是按列类型各司其职,再由列式布局把它们组织到一起。

2.3 实测结果

测试场景取自某省智能电表:

  • 观测点数量:500 万个
  • 数据周期:一年
  • 数据总量:1956 亿行
  • 实测压缩比:45:1
  • 对比:约为业界水平的3.6 倍

可以做一个简单的估算:1956 亿行除以 500 万个观测点,平均每个观测点一年约产生 3.9 万行数据。在这样的体量下,哪怕每行节省很小的空间,累计起来也是可观的。压缩比从业界水平提升到 45:1,意味着同样的数据只占用原来很小一部分的物理空间,存储采购、机房占用和备份开销都会随之下降。


三、历史数据快速插入:面向批量加载的写入路径优化

3.1 两类写入场景需要区分

时序数据库的写入可以分为两类,它们的优化目标不同:

类型特点关注指标
实时写入持续、小批量、低延迟稳定的吞吐与延迟
历史数据批量加载一次性、超大批量、集中导入总耗时、平均吞吐

系统升级、数据迁移、数据平台建设、智能分析应用落地,都会触发第二类场景,数据量常常达到 TB 级甚至更大。

3.2 传统导入方式的瓶颈

通用的导入方式在大批量场景下,容易受制于两方面因素:

  1. 写入路径本身的开销:逐行处理、频繁的元数据与索引维护,在百亿、千亿行规模下会被成倍放大。
  2. 数据组织方式:数据入库时如果没有贴合时间维度进行组织,后续不仅写入效率下降,也会给查询和管理留下隐患。

3.3 金仓的优化方向

金仓时序数据库针对该场景,对面向时序的写入路径做了专门优化,使大规模历史数据的批量加载更为高效。其核心思路是:既然时序数据具备按时间顺序、以追加为主的特点,写入路径就可以围绕这一特点来精简,而不必完全沿用通用数据库的处理流程。

3.4 实测结果

在分布式部署环境下:

指标数值
写入数据量1956 亿行
总耗时701 分钟
平均写入速度465 万行/秒
对比业界约 2.3 倍以上

我们可以做一次验算:701 分钟约为 42060 秒,1956 亿行除以 42060 秒,约等于 465 万行/秒,与公布的平均写入速度吻合。换算成时长,约为 11.7 小时,也就是说,近两千亿行的数据,在不到半天内即可完成入库。

这对项目交付的意义在于:数据迁移不再需要以“周”为单位排期,业务切换窗口和上线节奏更容易控制。


四、时序超表:按时间特征组织数据

4.1 为什么数据组织方式很关键

时序数据具备设备数量多、采样频率高、时间跨度长的特点。数据库对数据的物理组织,直接决定了两件事:

  • 写入时,数据能否顺畅落到合适的位置;
  • 查询时,能否迅速排除不相关的数据,只扫描所需的时间范围。

4.2 超表机制的基本思路

金仓时序数据库提供面向时序场景优化的数据组织方式,并通过时序超表机制提升海量数据的管理效率。从使用者角度看,超表仍然表现为一张逻辑上的表;从存储角度看,数据会按时间维度被合理切分与管理。这种方式带来的直接好处是,面向时间范围的查询可以更精准地定位数据,减少无效扫描。

4.3 与普通分区表的对比

对比测试的前提条件是:相同的数据规模,相同的表结构。

测试场景时序超表普通分区表对比
实时插入404 秒549 秒超表耗时更短,约快 26%
曲线查询253 毫秒4834 毫秒性能提升 19.1 倍

补充两点解读:

  1. 插入场景:404 秒对 549 秒,减少了约 145 秒,约 26% 的耗时。在持续写入的系统中,这种差距会随运行时间累积为稳定的吞吐优势。
  2. 查询场景:4834 除以 253 约等于 19.1,与公布结果一致。曲线查询是工业监控、趋势分析中最典型的操作,响应时间从接近 5 秒降至约 0.25 秒,使大屏、报表等需要频繁刷新的页面能够做到近似实时。

五、三项优化的协同关系

从数据生命周期来看,这三项优化覆盖了“存、导、查”三个环节:

历史数据 / 实时数据 │ ▼ ┌───────────────┐ │ 快速插入 │ ← 数据尽快入库,缩短上线周期 └───────┬───────┘ ▼ ┌───────────────┐ │ 高效压缩 │ ← 降低长期保存的存储成本 └───────┬───────┘ ▼ ┌───────────────┐ │ 时序超表 │ ← 提升管理与查询效率 └───────────────┘

三者的关系可以这样理解:

  • 只有压缩,没有快速导入:数据存得下,但迁移周期长,业务迟迟无法上线;
  • 只有快速导入,没有压缩:数据能迅速入库,但存储成本随时间不断攀升;
  • 导得快、存得省,但数据组织不合理:数据最终难以高效查询,价值无法释放。

因此,评价一款面向工业场景的时序数据库,不宜只看单项指标,而应关注这三个环节是否都有针对性的设计。


六、关键指标速览

维度测试条件结果对比
压缩500 万观测点,一年 1956 亿行压缩比 45:1约为业界 3.6 倍
批量写入分布式部署,1956 亿行701 分钟,平均 465 万行/秒约为业界 2.3 倍以上
实时插入时序超表 vs 普通分区表404 秒 vs 549 秒超表更快
曲线查询时序超表 vs 普通分区表253 毫秒 vs 4834 毫秒提升 19.1 倍

七、总结

随着企业数字化建设的深入,时序数据正在成为支撑业务分析、设备运维和智能决策的重要数据资源。数据规模持续增长,对数据库的要求也从“能写入”升级为“能长期承载、能高效管理”。

金仓时序数据库的思路,是从时序数据自身的规律出发:用编码与列式存储压缩冗余,用面向时序的写入路径提升批量加载效率,用时序超表改善数据组织与查询表现。三项能力共同作用,帮助企业降低海量数据的存储成本,提高数据加载效率,让持续增长的时序数据更好地服务于业务。


说明:本文中 Delta-of-Delta、Gorilla XOR、字典编码等技术的原理说明,为该类技术的通用机制解读,具体到产品内部实现与参数,请以金仓官方文档为准。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询