2. 时序数据质量维度
时序数据质量不能照搬关系型数据库的通用质量框架。关系型数据以“行”为独立记录,而时序数据以“时间序列”为基本单位:同一指标在时间轴上连续取值,点与点之间存在时间顺序、采样间隔和业务语义上的连续性。因此,完整性、准确性、一致性、时效性、唯一性这五个维度在时序场景下都需要重新定义,并配套可计算的度量方式。
下面先给出一个贯穿全节的示例对象:某电力监测系统每 15 秒采集一次变压器油温,指标名为 transformer_oil_temp,标签为 device_id=T-001,正常量程为 -20℃~150℃,采样周期 interval=15s。后续各维度的度量都围绕这个对象展开。
完整性:不是“有没有值”,而是“该有的点有没有”
时序完整性包含两层含义。第一层是时间覆盖完整性:在给定时间窗口内,实际点数与理论点数之比。理论点数由采样周期决定,例如 1 小时窗口、15 秒周期,理论点数为 3600/15=240 个。若实际写入 228 个,则覆盖率 = 228/240 = 95%。第二层是字段完整性:每个点除时间戳和值之外,是否携带必要的标签、质量位、设备状态等元数据。
度量时通常按“时间桶”聚合,而不是整段平均,否则会掩盖局部断点。例如按 5 分钟分桶,每桶理论 20 点,若某桶只有 3 点,说明该时段发生了明显缺失。完整性告警阈值可设为:单桶覆盖率低于 90% 触发警告,低于 70% 触发严重告警。需要注意,设备停机导致的“合理缺失”应通过设备状态位排除,否则会把正常停机误判为数据质量问题。
准确性:值是否真实反映物理量
时序准确性指采集值与被测物理量真值之间的接近程度。在工程中很难获得真值,因此常用三类可观测判据替代:量程越界(油温 < -20℃ 或 > 150℃)、变化率异常(相邻点变化超过物理可能,如 15 秒内跳变 80℃)、统计离群(基于滑动窗口的 3σ 或 MAD 检测)。
度量方式可定义为异常点占比:accuracy = 1 - 异常点数 / 总点数。例如 1 小时内 240 点中有 6 个点超出量程,则准确性为 97.5%。准确性判定必须结合物理约束,不能只依赖统计方法,否则会把真实的负荷突变误判为异常。
一致性:跨源、跨时间、跨语义的对齐
时序一致性有三个常见层面。其一是跨源一致性:同一物理量由两个传感器采集,两条序列在同一时刻的偏差应在允许范围内。其二是时间一致性:时间戳与采集时刻对齐,不存在时区错位、时钟漂移或乱序。其三是语义一致性:单位、量纲、标签命名统一,例如不能一条序列用摄氏度、另一条用华氏度。
度量跨源一致性可用同步偏差:|v_A(t) - v_B(t)| ≤ tolerance,统计超差时间占比。时间一致性可统计乱序点比例、时间戳重复率、时钟偏移量。语义一致性则通过元数据校验规则检查,例如单位字段必须属于白名单集合。
时效性:数据从产生到可用的延迟
时序时效性衡量数据“新鲜度”,核心指标是端到端延迟:delay = 入库时间 - 采集时间。对于实时监控场景,延迟超过 2 个采样周期(本例 30 秒)即视为不新鲜。另一个指标是数据滞后率:当前时刻与最新数据点时间戳之差,若超过阈值说明数据流中断或积压。
度量时通常取 P50、P95、P99 分位数,而不是平均值,因为平均值会掩盖长尾延迟。例如 P95 延迟 45 秒,说明 5% 的数据在 45 秒后才可用,对实时告警已构成影响。
唯一性:同一时刻同一序列只能有一个值
时序唯一性指在“序列标识 + 时间戳”这个联合主键上不允许重复。重复可能来自重试写入、多副本采集、补数据覆盖等。度量方式为重复点占比:duplicate_rate = 重复时间戳点数 / 总点数。此外还要检查“同序列同时间戳不同值”的冲突,这类冲突比单纯重复更危险,因为它意味着无法判断哪个值可信。
处理策略上,重复点可按“后写覆盖”或“保留首值”规则去重,但必须在元数据中记录冲突次数,作为质量指标持续监控。
五维度的协同与冲突
五个维度并非彼此独立。补数据可以提升完整性,但若补入的值未经校验,可能拉低准确性;去重可以提升唯一性,但若误删了真实的高频变化点,会破坏完整性;降低延迟可以提升时效性,但若牺牲了批量校验,可能影响一致性。因此在实际监控中,需要为每个维度设定优先级和联动规则。
一个可落地的做法是建立质量评分卡,对每个维度按 0~100 打分,再按业务权重加权。例如实时告警场景中,时效性权重 0.3、完整性 0.25、准确性 0.2、一致性 0.15、唯一性 0.1。当综合分低于 80 时触发数据质量工单,并附带各维度的具体异常点列表,便于定位是采集端、传输端还是入库端的问题。
总结来看,时序场景下的五个质量维度各自有明确的定义边界和可计算度量:完整性看覆盖率与字段齐全度,准确性看越界、变化率和离群占比,一致性看跨源偏差、时间对齐和语义统一,时效性看延迟分位数与滞后率,唯一性看重复率与冲突率。只有把这些度量落到具体的时间窗口、采样周期和业务阈值上,质量监控才具备可操作性。