Tratar a Evolução de DDL e Esquema

Sequência esperada

Quando uma definição de tabela é alterada e a captura de DDL é ativada, o fluxo pode entregar o registro DDL e, em seguida, atualizar os metadados do objeto e o esquema DML específico da tabela antes dos registros subsequentes que usam a nova definição. A ordem e o batch exatos nas mensagens WebSocket são detalhes da implementação; os consumidores devem tratar um esquema ou registro de metadados sempre que ele for exibido.

Alterações compatíveis e incompatíveis

Alterar Ação típica do consumidor
Adicionar coluna anulável Aceite o novo campo e atualize o esquema downstream de forma assíncrona ou dinâmica.
Adicionar coluna não nula Confirme o comportamento padrão/de backfill antes de aplicar registros.
Eliminar Coluna Pare de escrever o campo; preserve os dados históricos downstream de acordo com a política de retenção.
Renomear coluna Tratar como eliminação mais adição, a menos que um mapeamento controlado informe o contrário.
Alterar o tipo primitivo JSON ou a precisão da origem Valide a conversão, a precisão e a compatibilidade downstream antes de continuar.
Alterar colunas-chave Recrie a lógica de idempotência, mesclagem e exclusão antes de consumir registros na nova chave.

Política de tratamento de DDL

Integração de registro de esquema

Um consumidor pode publicar registros de Esquema JSON em banda em um registro de esquema empresarial. Preserve o id original, associe-o ao Fluxo de Dados e à implantação e às alterações de versão em vez de substituir definições de esquema histórico. O registro complementa o esquema de runtime; ele não substitui o checkpoint ou a recuperação da trilha de origem.