Utilisez Data Transmission Service (DTS) pour suivre en temps réel les opérations INSERT, UPDATE et DELETE d'un cluster PolarDB for PostgreSQL. Une fois la tâche lancée, les consommateurs en aval peuvent s'abonner au flux de modifications à l'aide du SDK, de Flink ou d'un client Kafka.
Limites
Examinez ces limites avant de commencer. Les erreurs de configuration dans ce domaine constituent la cause la plus fréquente d'échec des tâches et d'incohérence des données.
Source Database
| Limite | Impact | Action |
|---|---|---|
| Clé primaire ou contrainte d'unicité | Les tables sources doivent comporter une contrainte PRIMARY KEY ou UNIQUE avec tous les champs uniques. Sans cela, certaines modifications suivies peuvent être dupliquées. | Ajoutez une contrainte PRIMARY KEY ou UNIQUE à chaque table suivie avant de créer la tâche. |
| Nombre de tables | Une seule tâche de suivi des modifications peut suivre jusqu'à 500 tables. Le dépassement de cette limite entraîne une erreur de requête. | Créez des tâches distinctes pour différents groupes de tables, ou suivez l'intégralité de la base de données plutôt que des tables individuelles. |
| Rétention des journaux WAL | Les journaux WAL doivent être conservés pendant plus de 24 heures. Une rétention plus courte peut empêcher DTS de lire les journaux, ce qui peut entraîner l'échec de la tâche ou une incohérence des données. | Définissez la période de rétention des journaux WAL sur le cluster source à au moins 24 heures avant de démarrer la tâche. |
| Instances en lecture seule ou temporaires | Si la source est une instance en lecture seule ou temporaire, la journalisation des transactions doit être activée. | Activez la journalisation des transactions sur l'instance. |
Autres limites
| Limite | Détails |
|---|---|
| Une base de données par tâche | Une seule tâche de suivi des modifications suit les données d'une seule base de données. Créez une tâche distincte pour chaque base de données. |
| Table de heartbeat | DTS ajoute une table de heartbeat nommée dts_postgres_heartbeat à la base de données source afin de maintenir une mesure précise de la latence. |
| Précision FLOAT et DOUBLE | DTS récupère les valeurs FLOAT et DOUBLE à l'aide de ROUND(COLUMN,PRECISION). Si aucune précision n'est spécifiée, FLOAT prend par défaut 38 chiffres et DOUBLE 308 chiffres. Vérifiez que ces valeurs par défaut répondent à vos exigences avant de démarrer la tâche. |
Prérequis
Avant de commencer, assurez-vous d'avoir :
Un cluster PolarDB for PostgreSQL. Consultez Créer un cluster.
Le paramètre
wal_leveldéfini surlogicalsur le cluster. Consultez Spécifier les paramètres du cluster.La rétention des journaux WAL configurée à plus de 24 heures sur le cluster.
Créer une tâche de suivi des modifications
Étape 1 : Accéder à la page Change Tracking Tasks
Connectez-vous à la console Data Management (DMS).
Dans la barre de navigation supérieure, cliquez sur DTS.
Dans le volet de navigation de gauche, choisissez DTS (DTS) > Change Tracking.
Si vous utilisez le mode Simple dans la console DMS, placez le pointeur sur l'icônesituée dans le coin supérieur gauche, puis choisissez All functions > DTS > Change Tracking . Vous pouvez également ouvrir directement la console DTS .
Étape 2 : Sélectionner une région
À droite de Change Tracking Tasks, sélectionnez la région dans laquelle vous souhaitez créer la tâche.
Dans la console DTS, sélectionnez la région dans la liste déroulante située à droite de Workbench sur la page Change Tracking Tasks.
Étape 3 : Configurer la base de données source et le réseau du consommateur
Cliquez sur Create Task. Sur la page qui s'affiche, configurez les paramètres suivants.
Lisez les Limits affichées en haut de la page avant de continuer. Ignorer cette étape peut entraîner l'échec de la tâche ou empêcher la consommation des données suivies.
Source Database
| Paramètre | Description |
|---|---|
| Task Name | Nom de la tâche de suivi des modifications. DTS attribue un nom par défaut. Utilisez un nom descriptif pour faciliter l'identification de la tâche. Le nom n'a pas besoin d'être unique. |
| Select an existing database connection | Facultatif. Sélectionnez une connexion existante pour que DTS applique automatiquement ses paramètres. Si vous ignorez cette option, configurez manuellement les paramètres ci-dessous. |
| Database Type | Sélectionnez PolarDB for PostgreSQL. |
| Access Method | Sélectionnez Alibaba Cloud Instance. |
| Instance Region | Région où réside le cluster PolarDB for PostgreSQL source. |
| Replicate Data Across Alibaba Cloud Accounts | Sélectionnez No. Vous ne pouvez sélectionner que No. |
| Instance ID | ID du cluster PolarDB for PostgreSQL. |
| Database Name | Nom de la base de données source. |
| Database Account | Compte privilégié pour la base de données PolarDB for PostgreSQL. |
| Database Password | Mot de passe du compte de base de données. |
Consumer Network Type
| Paramètre | Description |
|---|---|
| Network Type | Fixé sur VPC. Sélectionnez un VPC et un vSwitch. Pour plus de détails, consultez VPCs. |
Le type de réseau du consommateur ne peut pas être modifié après la création de la tâche. Si votre client de suivi des modifications s'exécute dans un VPC, sélectionnez le même VPC et le même vSwitch pour minimiser la latence réseau.
Étape 4 : Tester la connectivité
Cliquez sur Test Connectivity and Proceed.
DTS ajoute automatiquement ses blocs CIDR à la liste d'autorisation des instances de base de données Alibaba Cloud ou aux règles du groupe de sécurité des bases de données hébergées sur ECS. Pour les bases de données gérées localement dans des centres de données ou hébergées par des fournisseurs tiers, ajoutez manuellement les blocs CIDR de DTS à vos paramètres de sécurité de base de données. Consultez Ajouter les blocs CIDR des serveurs DTS.
L'ajout de blocs CIDR DTS à une liste d'autorisation ou à un groupe de sécurité expose votre système à des risques de sécurité. Avant d'utiliser DTS, prenez conscience des risques et appliquez les contrôles appropriés, tels que l'utilisation d'identifiants robustes, la restriction des ports exposés, l'authentification des appels API, la révision régulière des règles de la liste d'autorisation et la suppression des blocs CIDR non autorisés. Envisagez de connecter la base de données à DTS via Express Connect, VPN Gateway ou Smart Access Gateway plutôt que par Internet public.
Étape 5 : Sélectionner les objets
Sélectionnez les bases de données ou les tables à suivre.
| Paramètre | Description |
|---|---|
| Data Change Types | Fixé sur Data Update, qui couvre les opérations INSERT, DELETE et UPDATE. |
| Source Objects | Sélectionnez les objets dans la liste Source Objects et cliquez sur l'icône |
Étendue du suivi :
Niveau base de données : DTS suit tous les objets de la base de données, y compris les tables ajoutées après le démarrage de la tâche.
Niveau table : DTS suit uniquement les tables spécifiées. Pour ajouter d'autres tables ultérieurement, consultez Modifier les objets pour le suivi des modifications.
Étape 6 : Configurer les paramètres avancés
Cliquez sur Next: Advanced Settings.
| Paramètre | Description |
|---|---|
| Monitoring and Alerting | Sélectionnez Yes pour recevoir des notifications en cas d'échec de la tâche ou si la latence dépasse un seuil. Spécifiez le seuil d'alerte et les contacts. Sélectionnez No pour ignorer les alertes. |
| Retry Time for Failed Connections | Durée pendant laquelle DTS tente de reconnecter une connexion échouée avant que la tâche n'échoue. Plage : 10–1440 minutes. Par défaut : 120 minutes. Définissez cette valeur à au moins 30 minutes. Si DTS se reconnecte dans ce délai, la tâche reprend automatiquement. |
| Configure ETL | Sélectionnez Yes pour appliquer des transformations extract, transform et load (ETL). Saisissez les instructions de traitement dans l'éditeur de code. Consultez Configurer ETL dans une tâche de migration ou de synchronisation de données. Sélectionnez No pour ignorer ETL. |
Si une instance de base de données sert de source à plusieurs tâches de suivi des modifications, le temps de nouvelle tentative le plus court configuré parmi ces tâches s'applique à toutes. L'instance DTS est facturée pendant les tentatives de reconnexion.
Étape 7 : Exécuter la pré-vérification
Cliquez sur Next: Save Task Settings and Precheck.
DTS exécute une pré-vérification avant de démarrer la tâche. La tâche ne démarre qu'après la réussite de la pré-vérification.
Si un élément de pré-vérification échoue :
Cliquez sur View Details à côté de l'élément ayant échoué, corrigez le problème en fonction du message d'erreur, puis cliquez sur Precheck Again.
Si un élément déclenche une alerte pouvant être ignorée, cliquez sur Confirm Alert Details. Dans la boîte de dialogue, cliquez sur Ignore, puis sur OK, et enfin sur Precheck Again.
Pour afficher un aperçu des paramètres OpenAPI pour cette configuration de tâche, placez le pointeur sur Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters .
Étape 8 : Attendre la fin de la pré-vérification
Attendez que le Success Rate atteigne 100 %, puis cliquez sur Next: Purchase Instance.
Étape 9 : Choisir une méthode de facturation
Sur la page Purchase Instance , sélectionnez une méthode de facturation.
| Méthode de facturation | Idéal pour | Détails |
|---|---|---|
| Subscription | Utilisation à long terme | Paiement anticipé pour une période fixe. Plus rentable que le paiement à l'utilisation pour les charges de travail soutenues. Définissez la durée de l'abonnement (1 à 9 mois ou 1 à 3 ans) et activez le renouvellement automatique si nécessaire. |
| Pay-as-you-go | Utilisation à court terme | Facturation horaire. Libérez l'instance lorsque vous n'en avez plus besoin pour arrêter les frais. |
Étape 10 : Accepter les conditions de service
Lisez et acceptez les Data Transmission Service (Pay-as-you-go) Service Terms.
Étape 11 : Démarrer la tâche
Cliquez sur Buy and Start. La tâche apparaît dans la liste des tâches où vous pouvez surveiller sa progression.
Étapes suivantes
Lorsque la tâche de suivi des modifications est en cours d'exécution, configurez des groupes de consommateurs et commencez à consommer les données suivies.
Créez des groupes de consommateurs. Consultez Créer des groupes de consommateurs.
-
Choisissez une méthode de consommation :