Dans les scénarios de synchronisation en temps réel, la prise en charge de la synchronisation des modifications de données générées par les opérations du langage de définition de données (DDL) et du langage de manipulation de données (DML) sur les sources varie selon le type de destination. Cette rubrique décrit la prise en charge de la synchronisation de ces modifications de données par les différents types de destinations.
Contexte
Avant de configurer une solution ou un nœud de synchronisation de données, déterminez la fonctionnalité de synchronisation requise en fonction des types de vos sources de données. Pour plus d'informations, consultez Sources de données et solutions de synchronisation prises en charge.
Vous pouvez également choisir la fonctionnalité en fonction du nombre de bases de données ou de tables à lire et du nombre de tables dans lesquelles écrire. Pour plus d'informations, consultez Prise en charge des scénarios de synchronisation multi-données.
Précautions
Si de nouveaux champs sont ajoutés à une table source, le nœud de synchronisation en temps réel associé se comporte comme suit :
Si un champ nommé DEFAULT VALUE est ajouté à la table source, ce champ est également ajouté à la table de destination associée après l'exécution du nœud de synchronisation en temps réel. La valeur du champ dans la table de destination est NULL. Si des données sont écrites dans ce champ de la table source lors d'opérations ultérieures, le nœud de synchronisation en temps réel synchronise ces données vers le champ correspondant dans la table de destination.
Si un champ nommé VIRTUAL est ajouté à la table source, ce champ est également ajouté à la table de destination associée après l'exécution du nœud de synchronisation en temps réel. La valeur du champ dans la table de destination est NULL. Si des données sont écrites dans ce champ de la table source lors d'opérations ultérieures, le nœud de synchronisation en temps réel synchronise ces données vers le champ correspondant dans la table de destination.
Si vous exécutez un nœud de synchronisation en temps réel pour synchroniser des données depuis une source MySQL ou PolarDB for MySQL et que vous souhaitez ajouter un champ à une table source, nous vous recommandons d'ajouter le champ à la fin plutôt qu'au milieu de la table source. Si un champ doit être ajouté au milieu d'une table source, tenez compte des limites suivantes :
Pour une solution de synchronisation de données utilisée pour synchroniser à la fois les données complètes et incrémentielles, n'ajoutez pas de champ au milieu d'une table source pendant la synchronisation des données complètes. Sinon, une exception de données se produit lors de la synchronisation en temps réel des données incrémentielles.
Lors de la synchronisation en temps réel des données incrémentielles, si vous souhaitez réinitialiser le décalage de départ et effectuer une opération DDL pour ajouter un champ au milieu d'une table source, assurez-vous que la réinitialisation du décalage intervient après l'ajout du champ. Sinon, une exception de données se produit lors de la synchronisation en temps réel des données incrémentielles.
En cas d'exception de données, effectuez à nouveau une initialisation des données pour restaurer leur état normal. Il suffit de supprimer la table modifiée et d'effectuer l'initialisation des données. Vous n'avez pas besoin d'initialiser les données de toutes les tables.
Prise en charge de la synchronisation des modifications de données générées par les opérations DDL et DML
Le tableau suivant répertorie la prise en charge par différents types de destinations de la synchronisation des modifications de données générées par les opérations DDL et DML sur les sources dans les scénarios de synchronisation en temps réel.
La fonctionnalité de synchronisation en temps réel et la solution de synchronisation complète unique et incrémentielle en temps réel fournie par la fonctionnalité de synchronisation basée sur des solutions sont utilisées pour la synchronisation en temps réel. Pour plus d'informations sur la configuration d'une solution ou d'un nœud de synchronisation de données à l'aide de la fonctionnalité associée, consultez
Présentation de la fonctionnalité de synchronisation en temps réel
et
Présentation de la fonctionnalité de synchronisation basée sur des solutions
.
| Type de source de données | Instruction DML | Instruction DDL pour une table | Instruction DDL pour un champ | ||||||||
| Insertion | Mise à jour | Suppression | Créer une table | Supprimer une table | Renommer une table | Vider une table | Ajouter un champ | Supprimer un champ | Renommer un champ | Modifier le type d'un champ | |
| AnalyticDB for MySQL 3.0 | Pris en charge | Pris en charge | Pris en charge | - | - | - | Pris en charge | Pris en charge | - | - | - |
| DataHub | Pris en charge | - | - | - | - | - | - | - | - | - | - |
| PolarDB-X 1,0 | Pris en charge | Pris en charge | Pris en charge | - | - | - | - | - | - | - | - |
| Elasticsearch | Pris en charge | Pris en charge | Pris en charge | - | - | - | - | Pris en charge | - | - | - |
| Hologres | Pris en charge | Pris en charge | Pris en charge | - | - | - | Pris en charge | Pris en charge | - | - | - |
| Kafka | Pris en charge | - | - | - | - | - | - | - | - | - | - |
| MaxCompute | Pris en charge | - | - | - | - | - | Pris en charge | Pris en charge | - | - | - |
| MySQL | Pris en charge | Pris en charge | Pris en charge | - | - | - | - | - | - | - | - |
| Object Storage Service (OSS) | Pris en charge | - | - | - | - | - | - | - | - | - | - |
| Oracle | Pris en charge | Pris en charge | Pris en charge | - | - | - | - | - | - | - | - |