首页/数据/数据工程与 ETL 速查/数据 SLA 与承诺时间

数据 SLA 与承诺时间

SLA 把什么时候必须可用变成可度量的承诺:按表设定承诺时间与依赖条件,统计达成率与超时原因分布;SLA 是调度资源分配与升级机制的依据,不只是对外承诺。

数据 SLA 是什么

SLA 把「什么时候必须可用」变成可度量的承诺:按表或按数据产品设定承诺时间、依赖上游、责任人与违约动作,再统计达成率与超时原因分布。它不只是对外的承诺,更是内部资源分配的依据——SLA 高的任务优先获得算力与调度优先级,长期超时的链路必须有人跟进优化。没有 SLA,数据可用时间就只能靠感觉,业务与数据团队之间也就没有共同的判定标准。

基本信息

要素承诺时间、依赖上游、责任人、违约动作(升级路径)
指标达成率、平均产出时间、P90 产出时间、超时原因分布
机制临近承诺时间的预警与超时后的升级通知
记录产出时间自动登记到配置表对应的日志表
分级核心表与次要表设置不同的承诺时间与违约动作
复核定期复核承诺时间是否仍与数据量与上游节奏匹配

典型使用场景

  • 核心报表保障:明确早间报表所依赖表的承诺时间,倒排调度优先级
  • 对外承诺:面向业务或客户的数据交付时间需要书面化
  • 资源分配依据:按 SLA 级别划分队列与算力优先级
  • 运维改进:用超时原因分布定位长期拖尾的链路
  • 复盘依据:事故复盘时用 SLA 达成与否作为客观判定标准

承诺时间登记与统计

承诺时间登记与统计
CREATE TABLE etl_sla_config (
  table_name STRING, promise_time STRING, owner STRING, level STRING
);

-- 达成情况:ready_time 为产出时间,promise_time 为承诺时间
SELECT c.table_name, c.level, c.promise_time, l.ready_time,
       CASE WHEN l.ready_time <= c.promise_time THEN 1 ELSE 0 END AS sla_ok
FROM etl_sla_config c
JOIN etl_task_ready_log l ON c.table_name = l.table_name
WHERE l.dt = '2026-10-11'
ORDER BY sla_ok, c.level;

达成率与超时原因分布

达成率与超时原因分布
-- 近 14 天达成率与平均延后时长
SELECT dt,
       COUNT(1) AS cnt,
       ROUND(SUM(sla_ok) / COUNT(1), 4) AS sla_rate,
       ROUND(AVG(TIMESTAMPDIFF(MINUTE, promise_time, ready_time)), 1) AS avg_delay_min
FROM etl_sla_daily
WHERE dt >= DATE_SUB(CURRENT_DATE, 14)
GROUP BY dt ORDER BY dt;

-- 超时原因分布:定位是上游延迟、资源竞争还是数据量激增
SELECT delay_reason, COUNT(1) AS cnt
FROM etl_sla_daily
WHERE dt >= DATE_SUB(CURRENT_DATE, 30) AND sla_ok = 0
GROUP BY delay_reason ORDER BY cnt DESC;

SLA 要素与判定

要素说明常见问题
承诺时间必须可用的时刻定得过紧,长期在违约边缘
依赖上游决定承诺时间是否可达上游无承诺,下游承诺就是空头
责任人超时后的第一联系人无责任人,告警无人认领
违约动作升级路径与通知范围只告警不升级,问题反复出现
统计口径产出时间的定义按任务结束时间算,实际数据还不可查
SLA 谈判要留出上游波动余量:把承诺时间卡在上游平均完成时刻,遇到数据量增长就会长期处于违约边缘,最终双方都不再认真对待这个指标。
SLA 只统计任务结束时间而不统计数据真正可用的时间,报表仍可能读空:产出时间应以数据对下游可见为准,而不是以任务进程退出为准。

易错点

  • SLA 只统计任务结束时间,不统计下游可用时间,指标达标但报表读空
  • 承诺时间从不复核,数据量翻倍后长期超时无人升级
  • 所有表用同一个承诺时间,核心链路与次要任务争资源
  • 超时只发告警不做升级与根因跟进,同一链路每天超时成为常态
  • 上游没有 SLA 却给下游定承诺时间,承诺本身不可达成

数据来源与参考

  • Apache Airflow 官方文档:SLA 与超时告警
  • 行业数据 SLA 实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌