概述
当数据离开生产团队、成为面向其他团队、系统或合作伙伴的产品时,使用此技能。它帮助代理定义稳定的发布契约,涵盖归属方、兼容性与运维预期。
何时使用
- 发布经过整理的表格或数据集市(marts)
- 与其他团队或合作伙伴共享数据抽取或文件
- 通过 API 或反向 ETL(reverse ETL)暴露受治理的数据
- 修改现有的面向消费者的数据集
不要以隐式契约发布被广泛使用的数据。
工作流
定义发布契约
包含:
- 归属方(owner)
- 受众(audience)
- 模式(schema)
- 粒度(grain)
- 交付方式(delivery method)
- 新鲜度与保留预期(freshness and retention expectations)
识别兼容性与版本化需求
定义访问与使用边界
记录:
- 允许的消费者(allowed consumers)
- 隐私约束(privacy constraints)
- SLA 预期(SLA expectations)
- 变更沟通路径(communication path for changes)
在发布前验证发布就绪度
记录变更策略
消费者应了解哪些内容可以变更、将如何被通知,以及废弃行为持续多久。
常见合理化
| 合理化 | 现实 |
|---|---|
| "它只是给另一个团队的一次性导出。" | 一次性导出往往会变成关键依赖。 |
| "如果有变更,消费者可以主动询问。" | 许多消费者只有在失败后才发现变更。 |
| "模式已经告诉他们所需的一切。" | 交付时机、新鲜度、保留期限和归属方同样重要。 |
红旗信号
- 发布输出没有归属方
- 缺少交付或新鲜度预期
- 破坏性变更在未版本化或未通知的情况下发布
- 共享数据集的访问边界不清晰
验证
- 发布契约覆盖受众、模式、交付与新鲜度
- 归属方与沟通路径已定义
- 兼容性与访问预期已明确
- 在消费者依赖之前已验证发布就绪度