2. 时序数据库核心能力拆解
工业时序数据库的选型,不能停留在“支持不支持”的功能清单层面,而要落到“在什么数据规模、什么查询模式下、达到什么量化水平”。本节把工业场景最关心的六项核心能力逐一拆开,给出定义、量化指标与可测量的评估口径,最终形成一套可打分的选型指标体系。
一、写入吞吐:先看稳态,再看峰值与乱序
写入吞吐指单位时间内成功持久化的数据点数,工业场景常用“点/秒(points/s)”或“测点·秒/秒”衡量。评估时不能只看单机峰值,要区分三个口径:稳态吞吐(连续写入 1 小时以上的平均速率)、突发吞吐(如产线启停时 10 秒内的高密度写入)、乱序写入能力(补传历史数据、网络抖动导致的迟到数据)。
一个可复现的评估方法:以 10 万测点、1 秒采集周期构造负载,即稳态写入约 10 万 points/s,持续写入 2 小时,记录写入延迟 P99、失败率与磁盘增长量;再注入 5% 的乱序数据(时间戳回退 30 秒至 5 分钟),观察写入是否被拒绝、是否触发合并放大。判断依据建议为:稳态写入延迟 P99 小于 50 ms、失败率为 0、乱序数据可正常落盘且不显著拖慢正常写入。
二、压缩效率:用压缩比与查询代价共同衡量
压缩效率通常用压缩比表示:原始数据字节数 ÷ 落盘后字节数。工业数据具有强规律性,整型状态量、缓变模拟量、布尔量压缩比差异极大。评估时必须按数据类型分层测试,而不是只报一个总体数字。
例如,某示例场景中,1 亿个 float64 模拟量点原始约 800 MB,若落盘后为 80 MB,则压缩比约 10:1;同规模的布尔量原始约 100 MB,落盘后可能仅 2 MB,压缩比约 50:1。但压缩比越高,往往意味着编码越复杂,点查或随机区间查询的解压代价越高。因此建议同时记录压缩比与解压后查询延迟,避免“省了磁盘、慢了查询”。
三、时间窗口查询:范围、聚合与返回规模
时间窗口查询指给定时间区间与测点集合,返回原始点或聚合结果。工业场景的典型模式包括:单测点最近 1 小时原始曲线、多测点某班次最大值/最小值/平均值、跨设备对比某时间窗口的均值。量化指标应包含:扫描点数、返回点数、查询延迟 P95/P99、并发查询数。
评估时建议固定三类查询:① 单测点 1 小时原始点(约 3600 点);② 100 测点 24 小时按 1 分钟聚合(约 14.4 万点);③ 1000 测点 7 天按 1 小时聚合。分别记录延迟与资源占用。若第二类查询 P95 超过 2 秒,通常说明索引或分区裁剪不足,需要进一步检查时间分区粒度与测点索引设计。
四、降采样与连续查询:把计算前移
降采样指将高频率原始数据按固定时间粒度聚合为低频率结果,如 1 秒原始点降为 1 分钟均值。连续查询则是数据库按计划自动执行的降采样任务,把结果写入目标表,供长期查询使用。二者共同解决“原始数据太大、长期查询太慢”的问题。
量化指标包括:降采样粒度(1s→1min、1min→1h)、聚合函数支持(avg/max/min/sum/count/first/last)、连续查询调度延迟(从窗口结束到结果可查的时间)、结果一致性(迟到数据是否触发重算)。工业场景中,若连续查询调度延迟超过一个采集周期,就可能影响实时看板。建议将“窗口结束后 10 秒内结果可查”作为示例验收线。
五、数据保留策略:分级存储与自动过期
数据保留策略定义数据在库中的生命周期,通常按“原始数据保留 N 天、降采样数据保留 M 月、归档数据保留 Y 年”分级。量化指标包括:保留粒度(按表、按测点、按时间分区)、过期删除方式(分区 drop 还是逐行 delete)、删除对写入的影响、冷热分层能力。
评估时要特别关注删除方式:按时间分区整体 drop 通常秒级完成且不影响写入;逐行 delete 可能产生大量墓碑记录,拖慢查询与压缩。建议在测试中模拟“保留 30 天原始数据”,观察第 31 天过期删除的耗时与写入延迟抖动。
六、选型评估指标体系
把上述能力整合为可打分的指标体系,建议按权重分配:写入吞吐 25%、压缩效率 15%、时间窗口查询 20%、降采样与连续查询 15%、数据保留策略 10%、运维与生态 15%。每项按 1~5 分打分,乘以权重后汇总。下表给出一个示例评分表,实际使用时可根据项目优先级调整权重。
| 能力项 | 权重 | 关键量化指标 | 示例验收线 |
|---|---|---|---|
| 写入吞吐 | 25% | 稳态 points/s、P99 延迟、乱序支持 | 10 万 points/s,P99 < 50 ms |
| 压缩效率 | 15% | 分层压缩比、解压查询延迟 | 模拟量 ≥ 8:1,布尔量 ≥ 30:1 |
| 时间窗口查询 | 20% | 扫描/返回点数、P95 延迟、并发数 | 100 测点 24h 聚合 P95 < 2 s |
| 降采样与连续查询 | 15% | 粒度、聚合函数、调度延迟 | 窗口结束后 10 s 内可查 |
| 数据保留策略 | 10% | 保留粒度、删除方式、冷热分层 | 分区 drop,删除不影响写入 |
| 运维与生态 | 15% | 高可用、备份、SQL/API、监控 | 支持标准 SQL 与 Prometheus 接口 |
这套指标体系的价值在于把“感觉快”“看起来省”转化为可复现、可比较的数字。实际选型时,先明确项目对写入规模、查询模式、保留周期的硬约束,再按权重打分,避免被单一亮点指标带偏。