4. 台账管理概述:台账的数据模型、存储选型与生命周期管理

误差预算台账是服务画像可观测性体系的核心数据底座。它记录每个服务制品在每个时间窗口内的误差消耗、预算剩余、违规事件及修复动作。台账的设计质量直接决定异常行为模式识别的准确性与实时性。本章从数据模型、存储选型、生命周期管理三个维度展开。

4.1 台账数据模型

台账数据模型采用多维度时序宽表设计,兼顾查询效率与灵活性。核心字段分为四类:

字段类别 字段示例 说明
标识维度 service_id, artifact_version, slo_name 唯一确定一条误差预算记录
时间维度 window_start, window_end, record_timestamp 定义误差计算的时间窗口
度量指标 error_budget_total, error_budget_consumed, error_budget_remaining, burn_rate 核心数值,用于异常检测
状态标签 status (OK/WARNING/CRITICAL), violation_flag, last_updated_by 标记当前窗口的健康状态
关键设计原则:标识维度 + 时间维度构成联合主键,度量指标支持滚动聚合,状态标签用于快速过滤异常窗口。

4.2 存储选型:时序数据库 vs 关系型数据库

台账数据具有写多读少、时间范围查询频繁、数据量持续增长的特征。两种存储方案的对比决定了选型方向。

对比维度 时序数据库 (TSDB) 关系型数据库 (RDBMS)
写入性能 高吞吐,批量写入优化,支持乱序写入 中等,受限于事务和索引维护
时间范围查询 原生优化,按时间分区扫描,毫秒级响应 需依赖时间索引,大范围查询性能下降
数据压缩 列式压缩,压缩比可达 10:1 ~ 20:1 行式存储,压缩比通常 3:1 ~ 5:1
数据保留策略 内置 TTL 和降采样,自动管理生命周期 需手动实现归档和清理逻辑
复杂关联查询 弱,不支持 JOIN 或子查询 强,支持多表关联和事务
运维复杂度 中等,需管理分片和副本 较高,需优化慢查询和锁竞争
推荐方案:核心台账数据(误差消耗、燃烧速率)使用时序数据库存储;元数据(服务信息、SLO 定义、告警规则)保留在关系型数据库中。两者通过 service_id + window_start 进行关联查询。
误差预算台账存储架构 误差预算台账存储架构 数据采集层 服务指标 / 请求日志 / 错误事件 / 燃烧速率计算 时序数据库 (TSDB) 误差消耗 / 燃烧速率 / 窗口聚合 TTL 自动清理 / 降采样 关系型数据库 (RDBMS) 服务画像 / SLO 定义 / 告警规则 用户权限 / 审计日志 统一查询接口 时间范围查询 / 异常窗口过滤 / 趋势分析 / 报表导出 异常行为模式识别 / 告警 / 仪表盘

4.3 生命周期管理

台账数据随服务运行持续增长,必须建立分级存储 + 自动降采样 + 过期清理的生命周期策略。以下为推荐的生命周期阶段划分:

  • 热数据阶段(0 ~ 7 天):原始粒度(1 分钟窗口),用于实时异常检测和燃烧速率告警。存储在 TSDB 高性能节点,副本数 ≥ 2。
  • 温数据阶段(8 ~ 90 天):聚合粒度(5 分钟窗口),用于趋势分析和周报。启用 TSDB 降采样策略,保留关键统计值(p50/p95/max)。
  • 冷数据阶段(91 ~ 365 天):日聚合粒度,用于季度回顾和容量规划。可迁移至低成本对象存储或 TSDB 冷节点。
  • 归档/删除阶段(> 365 天):仅保留月度摘要和违规事件记录,原始数据自动删除。
注意:生命周期策略必须与 SLO 窗口对齐。例如,30 天滚动窗口的 SLO,其台账数据至少保留 30 天原始粒度;年度 SLO 则需要保留 365 天日聚合数据。
台账生命周期管理流程 台账生命周期管理流程 热数据 0 ~ 7 天 1 分钟粒度 实时检测 温数据 8 ~ 90 天 5 分钟聚合 趋势分析 冷数据 91 ~ 365 天 日聚合 季度回顾 归档 > 365 天 月度摘要 违规事件 降采样策略:1 分钟 → 5 分钟 → 1 天 → 月度摘要 每个阶段转换时执行数据聚合和压缩,原始数据按 TTL 自动清理

4.4 台账管理最佳实践

  1. 写入路径分离:实时写入走 TSDB 高性能节点,批量导入走异步队列,避免写入抖动影响查询。
  2. 查询路由:根据查询时间范围自动路由到对应存储层(热/温/冷),对用户透明。
  3. 数据一致性校验:每日运行校验任务,对比 TSDB 与 RDBMS 中的台账记录数,确保无丢失。
  4. 备份与恢复:热数据每日全量备份,温冷数据每周增量备份,归档数据双副本异地存储。
  5. 监控台账本身:台账写入延迟、查询响应时间、存储使用率均需纳入可观测性监控。