处理 DDL 和方案演化

预期序号

当表定义更改并启用 DDL 捕获时,流可以在使用新定义的后续记录之前传送 DDL 记录,然后更新对象元数据和特定于表的 DML 方案。跨 WebSocket 消息的确切批处理和排序是实施详细信息;使用者必须在出现方案或元数据记录时对其进行处理。

兼容和不兼容的更改

更改 典型的使用者操作
添加可为空的列 接受新字段并异步或动态更新下游方案。
添加非 Null 列 在应用记录之前确认默认/反向填充行为。
删除列 停止写入字段;根据保留策略保留历史下游数据。
重命名列 除非存在受监管的映射状态,否则视为删除加添加。
更改 JSON 基元类型或源精度 在继续之前验证转换、精度和下游兼容性。
更改键列 在使用新关键字下的记录之前,重新构建幂等性、合并和删除逻辑。

DDL 处理策略

方案注册表集成

使用者可以将带内 JSON 方案记录发布到企业方案注册表。保留原始 id,将其与数据流和部署关联,以及版本更改,而不是覆盖历史方案定义。注册表是对运行时方案的补充;它不会替换检查点或源线索恢复。