Gérer l'évolution des instructions LDD et des schémas

Séquence attendue

Lorsqu'une définition de table est modifiée et que la capture LDD est activée, le flux peut transmettre l'enregistrement LDD, puis mettre à jour les métadonnées d'objet et le schéma LMD propre à la table avant les enregistrements suivants qui utilisent la nouvelle définition. Le traitement batch et l'ordre exacts des messages WebSocket sont des détails d'implémentation ; les destinataires doivent gérer un enregistrement de schéma ou de métadonnées chaque fois qu'il apparaît.

Modifications compatibles et incompatibles

Modifier Action typique du consommateur
Ajouter une colonne avec valeur NULL Acceptez le nouveau champ et mettez à jour le schéma en aval de manière asynchrone ou dynamique.
Ajouter une colonne non NULL Confirmez le comportement par défaut/retour avant d'appliquer les enregistrements.
Supprimer une colonne Arrêtez d'écrire le champ ; préservez les données historiques en aval conformément à la stratégie de conservation.
Renommer une colonne Traiter comme drop plus add sauf si un mapping régi indique le contraire.
Modifier la précision de la source ou du type primitif JSON Validez la conversion, la précision et la compatibilité en aval avant de continuer.
Modifier les colonnes de clé Recréez la logique d'idempotence, de fusion et de suppression avant d'utiliser les enregistrements sous la nouvelle clé.

Stratégie de gestion des instructions LDD

Intégration du registre de schémas

Un destinataire peut publier des enregistrements de schéma JSON in-band dans un registre de schéma d'entreprise. Conservez le fichier id d'origine, associez-le au flux de données et au déploiement, ainsi qu'aux modifications de version plutôt que d'écraser les définitions de schéma historique. Le registre complète le schéma d'exécution ; il ne remplace pas la récupération de point de reprise ou de trace source.