跳转至

数据与平台工程完整交付包样板

样板项目:检索与特征在线服务平台
用途:把数据链路、检索索引、在线服务、质量与回滚做成一套平台型交付包。


一、需求文档

1.1 背景

很多 AI 应用问题不在模型本身,而在数据与服务层:

  1. 数据新鲜度不足
  2. 离线与在线不一致
  3. 索引更新失败后缺少回滚
  4. 平台只能“一次性跑通”,不能长期稳定提供能力

1.2 目标

构建一个支持增量更新、质量校验、检索服务与在线调用的最小平台。

1.3 验收标准

维度 指标
数据 新鲜度目标明确并可观测
数据 质量规则具备告警与回滚
服务 查询延迟可控
平台 索引更新链路可灰度
运维 至少 1 次数据事故复盘

二、架构图与技术设计

flowchart TD
    DS[业务数据源] --> MQ[消息队列 / CDC]
    DS --> BT[批处理作业]
    MQ --> ST[流处理]
    BT --> FT[特征与索引构建]
    ST --> FT
    FT --> FS[特征存储]
    FT --> IX[检索索引]
    FS --> API[在线服务层]
    IX --> API
    API --> APP[上层推荐 / RAG / 搜索应用]
    API --> OBS[质量指标 / 延迟 / 告警]
    OBS --> RB[回滚 Runbook]

2.1 设计重点

  • 流处理负责新鲜度,批处理负责纠偏与重算。
  • 特征与索引发布必须版本化,不能直接覆盖。
  • 在线服务要明确 SLA,不能只看离线结果。

2.2 异常路径

  • 索引更新失败:保留旧版本并阻断切流
  • 脏数据进入链路:触发质量告警并隔离批次
  • 在线延迟抬升:切换只读旧版本或降级查询模式

三、SLO 与核心指标

类型 指标 目标
数据 新鲜度延迟 目标明确并持续观测
数据 数据质量规则通过率 >= 既定阈值
服务 P95 查询延迟 <= 既定阈值
服务 可用性 >= 99.9%
平台 索引发布时间 持续跟踪
平台 回滚耗时 可演练、可观测
成本 存储 + 计算 + 索引成本 按版本复盘

3.1 错误预算

  • 若数据质量规则连续触发,暂停新版本发布。
  • 若在线延迟与索引更新冲突,优先保线上稳定,延后更新。

四、压测与 Benchmark 报告

4.1 压测对象

  • 写入吞吐
  • 索引更新时间
  • 在线查询延迟
  • 特征服务命中率

4.2 记录模板

场景 基线 当前方案 结论
全量重建索引 待填 待填
增量更新索引 待填 待填
在线查询 P95 待填 待填
特征服务命中率 待填 待填

4.3 面试可讲点

  • 为什么要做版本化索引
  • 流批一体里哪些逻辑必须统一、哪些允许延迟
  • 数据质量与服务 SLA 冲突时如何决策

五、成本报告

成本项 关注点
存储 特征与索引体积
计算 批处理 / 流处理资源
服务 在线查询实例与缓存
运维 发布频率提升带来的管理成本

5.1 结论模板

  • 最贵的是哪段链路
  • 增量更新是否明显比全量重建更划算
  • 哪个优化虽然省钱,但会损失新鲜度或稳定性

六、发布记录

版本 变更 灰度范围 观察指标 回滚条件
v1 基础特征与索引服务 自用 查询延迟、质量规则 质量规则异常
v2 增量更新链路 自用 新鲜度、索引更新时间 更新失败率升高
v3 版本化切换与回滚 自用 切换时延、回滚成功率 切流异常

七、事故复盘

7.1 事故标题

一次索引增量发布引入脏数据,导致在线召回结果明显偏移。

7.2 现象

  • 线上查询仍然成功
  • 但召回结果分布异常
  • 上游看板没有及时暴露问题

7.3 根因

  • 数据质量规则只校验格式,没有校验业务分布
  • 索引切换前缺少抽样比对

7.4 处置

  • 回滚到上一版本索引
  • 增加分布漂移校验
  • 发布前强制做抽样 diff

7.5 追踪动作

  1. 数据质量规则分为格式、分布、业务约束三层
  2. 发布流程加入影子验证
  3. 回滚 Runbook 加入索引版本核验步骤

八、简历条目

  • 设计并实现检索与特征在线服务平台,打通流批更新、版本化索引、在线查询与数据质量监控链路。
  • 建立数据新鲜度、查询延迟、索引发布与回滚等指标体系,并通过事故复盘推动发布与质量校验机制完善。

九、面试讲解结构

  1. 为什么平台问题往往比模型问题更难排查
  2. 架构:数据源、流批链路、索引、特征服务、在线接口
  3. 指标:新鲜度、质量、延迟、回滚耗时
  4. 事故:脏数据导致召回偏移,如何发现和止血
  5. trade-off:新鲜度、成本、稳定性、复杂度如何平衡

十、配套文档