数据与平台工程完整交付包样板
样板项目:检索与特征在线服务平台
用途:把数据链路、检索索引、在线服务、质量与回滚做成一套平台型交付包。
一、需求文档
1.1 背景
很多 AI 应用问题不在模型本身,而在数据与服务层:
- 数据新鲜度不足
- 离线与在线不一致
- 索引更新失败后缺少回滚
- 平台只能“一次性跑通”,不能长期稳定提供能力
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 追踪动作
- 数据质量规则分为格式、分布、业务约束三层
- 发布流程加入影子验证
- 回滚 Runbook 加入索引版本核验步骤
八、简历条目
- 设计并实现检索与特征在线服务平台,打通流批更新、版本化索引、在线查询与数据质量监控链路。
- 建立数据新鲜度、查询延迟、索引发布与回滚等指标体系,并通过事故复盘推动发布与质量校验机制完善。
九、面试讲解结构
- 为什么平台问题往往比模型问题更难排查
- 架构:数据源、流批链路、索引、特征服务、在线接口
- 指标:新鲜度、质量、延迟、回滚耗时
- 事故:脏数据导致召回偏移,如何发现和止血
- trade-off:新鲜度、成本、稳定性、复杂度如何平衡
十、配套文档