跳到正文

更多文章

数据周刊|2026年第37周:AI落地,先算清性能、语义和价值三笔账 用户数涨了,活跃率反而降了:分析师先拆哪 3 个分母 大促券核销率突然翻倍:分析师用 5 张表拆开重复领取与真实转化 文件名都叫最终版,分析师先用 4 个字段结束 Excel 版本大战 老板问数据团队下季度要不要加人:负责人用 5 类证据写容量计划
业务一句“这个看板要实时”,数据负责人用 5 个问题拆成 3 档 SLA

“这个看板要实时。”

运营负责人说完这句话,把笔往桌上一放。会议室里安静了两秒。产品经理点点头,像是需求已经说清楚了;数据开发低头看电脑,开始估 Kafka、Flink、存储和人力;坐在角落里的分析师翻开旧报表,发现大家甚至还没有确认“成交”到底按支付还是发货算。

我见过不少实时项目,就是从这五个字开始长大的。它们先长出一套流式链路,再长出一套指标服务,最后长成一张每月都要有人解释成本的账单。至于业务在数据刷新后的两分钟里究竟会做什么,反而没人再问。

这事有点像在餐馆催菜。顾客说“快一点”,厨师不能据此购买一条自动化流水线。他得先问:你是赶火车,还是只是饿了?一道凉菜晚五分钟和一锅汤晚五分钟,不是同一种晚。

看板也是如此。实时不是一个技术频率,而是一个业务动作还能来得及发生的时间窗口。

如果这句话不先说清楚,团队很容易把所有“想早点看见”都翻译成“必须秒级更新”。这通常很贵,也未必有用。

会议桌上的三只时钟分别指向秒、分、小时,提醒团队先判断业务窗口

先别谈架构,先问数据晚到以后损失什么

需求评审最容易出现的一幕,是业务讲完“要实时”,技术马上打开架构图。大家开始讨论消息队列吞吐、状态存储、维表关联和机器规格。讨论很专业,问题却还停留在门口。

Google 的 SRE 方法里有一个很朴素的提醒:先理解用户在意什么,再选指标;数据处理链路通常关注吞吐和端到端延迟,同时不能忘记正确性。Datadog 的 SLO 清单也把数据管道拆成两件事:结果是不是对的,以及新数据多久能出现。

这两条放到看板评审里,就是一句大白话:

业务需要的不是“链路很快”,而是“在还来得及行动时,看到足够可信的数据”。

这里先把三个容易混用的词分开:

  • SLI 是实际怎么量,例如“从支付事件发生到页面可用的分钟数”或“已进入实时口径的订单占比”;
  • SLO 是这些指标要达到什么目标,例如“大促时段内,95% 的有效订单在 5 分钟内可见”;
  • SLA 是服务双方围绕这些目标形成的协议,还要写清衡量窗口、责任和未达标后果。

本文标题沿用团队常说的“数据 SLA”,但下文的三档不是给刷新频率换个名字。它们指业务使用方与数据提供方共同确认的内部数据服务协议:里面可以有一个或多个 SLO,也必须说明谁承诺、怎样量,以及目标没达到时谁做什么。未达标后果未必是商业合同里的赔偿,也可以是页面降级、暂停依赖动作、升级事故或重新评审服务范围;如果只有一个目标数字而没有这些约定,它就仍是 SLO,不是完整的 SLA。

所以我通常不先问“你要几秒”。我先问:“如果这条数据晚十分钟,你会错过什么动作?”

答案如果是“客服无法在投诉扩散前拦截”“大促库存已经卖穿”“支付成功率异常却没人止损”,那确实接近秒级或分钟级问题。

答案如果是“领导希望早点看”“日报早上九点会用”“下午复盘时想看到上午趋势”,那多半不需要一条 24 小时全速奔跑的实时链路。

还有一种答案更诚实:“暂时也不会做什么,就是想先看看。”这不丢人。探索需求可以有,只是它不该穿着生产级 SLA 的外套进预算会。

第一个问题:数据出现以后,谁要改变什么动作

“谁”和“动作”必须同时出现。

只有“运营会看”,不够。要继续问:运营看见以后,是暂停投放、调整优惠券、联系仓库,还是在群里发一句“大家关注一下”?这些动作的时限、风险和自动化程度完全不同。

可以把一次实时需求写成这样:

看到什么谁处理准备做什么最晚何时有用
支付成功率连续下降值班运营暂停异常渠道并通知支付团队3 分钟内
单仓可售库存跌破阈值区域运营停止继续分配流量10 分钟内
当日 GMV 低于目标经营负责人调整下午投放节奏1 小时内
昨日渠道 ROI 偏低投放团队修改次日预算次日上午前

表里的时间只是示例,不是行业标准。真正重要的是:每一个时间后面,都有一个动作。

如果动作要等人开会、审批、再通知,系统提前 30 秒把数字送达,并不会让组织突然拥有 30 秒反应能力。数据跑得像兔子,流程还在门口系鞋带,这是企业里很常见的景象。

反过来,如果动作已经自动化,例如欺诈规则触发后立即阻断,那么秒级信号才有明确价值。此时看板甚至不是主要载体,告警和自动控制才是。

所以第一问不是在限制业务,而是在给实时找一个正当用途:数据必须进入动作,速度才有意义。

第二个问题:从哪一个时刻,到哪一个时刻,算“延迟”

很多团队说看板五分钟更新一次,实际测的是调度间隔。源系统 10:00 发生一笔订单,10:07 才进消息队列,10:10 完成聚合,10:12 被指标服务缓存,10:15 页面自动刷新。页面上写着“每 5 分钟更新”,业务看到的却是 15 分钟前的世界。

“五分钟”没有错,只是它测错了路段。

数据看板真正该关心的,是从业务事件发生,到结果可用于判断的端到端延迟。至少要把这条路拆开:

  1. 事件进入源系统的时间:订单、支付、库存变化何时真实发生;
  2. 采集可见时间:变化何时被 CDC、日志或接口捕获;
  3. 处理完成时间:清洗、关联、聚合何时得到可用结果;
  4. 服务可见时间:缓存、语义层或接口何时提供新值;
  5. 页面可见时间:用户何时真正看到并能操作。

PRO 会员专属

本文为 PRO 会员专属内容,成为会员即可阅读全文。

PRO ¥199/年 · Pro 专属文章 + 2300+ 知识文档 + 会员社群

Elazer (石头)
Elazer (石头)

11 年数据老兵,从分析师到架构专家。用真实经历帮数据人少走弯路。

加入免费社群

和数据从业者一起交流成长

了解详情 →

成为会员

解锁全部内容 + 知识库

查看权益 →

1v1 咨询

有具体职业困惑?一小时说清楚

预约咨询 →
← 上一篇 同一个按钮出现 4 个埋点名,分析师先用 3 步找回可信口径 下一篇 → 凌晨补数显示成功,第二天报表却多了一倍:数据开发先查 4 个幂等条件