原子概念
增量入库与原子发布
阶段job、幂等、游标、待发布版本、active版本切换与回填。
检索别名:incremental ingestion · index generation
01 输入
- 源对象变化与期望版本
- 各阶段处理配置
02 处理机制
- 构建未发布generation
- 用幂等job与outbox补齐派生索引
- 校验完整性后切换活动版本
03 输出与证据
- 完整活动索引版本
- 待发布与失败状态
接入完成与可搜索是两个状态
源系统已经下载了一份新文件,不代表知识服务应该立刻切换。解析可能还没完成,部分chunk的embedding失败,倒排与向量索引也可能处于不同版本。若直接原位覆写,用户可能一次查询混用新旧段落,得到不存在于任何正式版本中的答案。
建议把一次入库分成快照、解析、质量检查、切块、索引、发布几个阶段,每阶段有输入hash、处理版本、幂等键、尝试次数和错误状态。新资料先进入未发布generation;只有必需阶段完成,才原子切换active version或alias。
对异步失败保持诚实
原始文件与权威元数据可以在事务中确定,而外部检索服务通常需要异步传播。AWS的transactional outbox模式用于解决数据库写入与消息发布之间的双写问题。将待同步事件与业务状态一起提交,后续消费失败可以重放,而不是依赖一次网络调用的返回值维持一致性。
正常内容更新可以保留上一份有效版本继续服务,并展示新鲜度;权限撤回和删除则应先禁用,再处理物理清理。不要用“最终一致”解释撤回之后仍向无权限用户展示内容。不同事件类别应有不同的优先级和最大传播延迟。
发布前后都要对账
建立每个源对象的期望版本与每个索引的实际generation,持续检查缺块、残留旧块和孤立向量。若发生重新切块或embedding升级,保留双索引窗口和回滚指针;失败时可以退回完整旧版,不能退回半完成的新状态。
用重复事件、乱序事件、进程重启和外部索引超时验证管线。验收标准是同一对象最终只暴露一套完整、授权正确的活动版本,并能明确列出仍未发布的资料。一次job显示成功不应掩盖其后续发布仍未完成。
RELATIONSHIP MAP
与其他节点的关系
箭头从本节点指向目标;关系是工程分析映射,不代表厂商合作或已披露的内部实现。
哪些节点指向本页 · 2
- 连接器与源系统合同 — 供给 → 增量入库与原子发布
连接器事件驱动增量发布
- Outbox与跨库一致性 — 实现 → 增量入库与原子发布
跨库同步需outbox与重放
PRIMARY SOURCES
来源与阅读边界
来源按研究截止日整理。官方文档说明能力和约束,代码只证明对应版本,论文与讲座不自动证明生产效果。 资料截止:2026-10-15。
- AWS:Transactional outbox pattern ↗官方文档 / 声明
- Microsoft Graph:driveItem delta ↗官方文档 / 声明