

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Modifier les flux de capture de données (version préliminaire)
<a name="cdc-streams"></a>

**Important**  
Cette fonctionnalité est fournie sous forme d' AWS aperçu et est sujette à modification. Pour plus d'informations, consultez la section 2, Bêtas et aperçus, des conditions de [AWS service](https://aws.amazon.com/service-terms/). Pour en savoir plus sur la tarification des flux CDC, consultez la [page de tarification d'Aurora DSQL](https://aws.amazon.com/rds/aurora/dsql/pricing/).  
Avant la mise à disposition générale, nous ajouterons de nouveaux types d'opérations (`"op": "u"`pour les mises à jour) à votre charge utile de diffusion. Pour vous assurer que votre application gère ces modifications sans modification, considérez toute valeur non reconnue comme une `op` valeur ajoutée en appliquant la `after` charge utile. Consultez [Comprendre les dossiers du CDC](cdc-record-format.md) pour plus de détails.

Amazon Aurora DSQL Change Data Capture (CDC) diffuse les modifications de base de données validées en temps quasi réel directement vers Amazon Kinesis Data Streams. Aurora DSQL fournit chaque modification validée au niveau des lignes sous forme d'enregistrement JSON structuré à un flux de données Kinesis que vous configurez.

Le CDC est utile lorsque vous souhaitez :
+ **Synchronisez les systèmes en aval** : répliquez les modifications apportées à un index de recherche, à un cache, à un entrepôt de données ou à un système d'analyse sans tâches par lots.
+ **Créez des architectures axées sur les événements** : déclenchez des flux de travail, des notifications ou des actions de microservice en réponse aux modifications de la base de données.
+ **Maintenez une piste d'audit** : capturez chaque modification validée à des fins de conformité, de débogage ou d'analyse historique.
+ **Dissociez les producteurs des consommateurs : laissez la base de** données se concentrer sur les transactions, tandis que les systèmes en aval traitent les changements à leur propre rythme.

## Comment ça marche
<a name="cdc-how-it-works"></a>

Aurora DSQL lit les transactions validées, formate chaque modification de ligne sous la forme d'un enregistrement JSON structuré et le transmet à un flux de données Kinesis que vous configurez. Le CDC capture automatiquement `DELETE` toutes les tables utilisateur du cluster. `INSERT` `UPDATE` Appliquez une logique de filtrage à vos applications en aval en utilisant les `source.table` champs `source.schema` et de chaque enregistrement CDC pour vous concentrer sur les tables ou les modifications dont votre application a besoin.

Les flux CDC sont entièrement gérés. Aurora DSQL gère toute l'infrastructure requise pour capturer les événements de changement, surveille l'état des flux et indique l'état par le biais du fonctionnement et des CloudWatch métriques de l'`GetStream`API.

Les flux CDC utilisent un modèle « apportez votre propre cible ». Vous créez et gérez le flux de données Kinesis dans votre compte, et Aurora DSQL assume un rôle IAM que vous configurez pour écrire des enregistrements CDC en votre nom. Vous êtes responsable de la capacité, du chiffrement et des paramètres de rétention de la cible. Pour connaître les dernières cibles prises en charge, consultez le `TargetDefinition` paramètre [CreateStream](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_CreateStream.html)dans le manuel Amazon Aurora DSQL API Reference. Pour obtenir la liste complète des opérations de l'API CDC Stream, consultez le manuel [Amazon Aurora DSQL API Reference](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/CHAP_api_reference.html).

## Rubriques de cette page
<a name="cdc-topics-on-page"></a>
+ [Sémantique de commande et de livraison](#cdc-ordering-delivery)
+ [Multi-Region Configuration du flux CDC](#cdc-multi-region)
+ [Traitement des dossiers du CDC en aval](#cdc-downstream-processing)

## Rubriques en relation
<a name="cdc-related-topics"></a>
+ [Commencer à utiliser les flux CDC](cdc-setup.md)
+ [Configuration d'IAM](cdc-iam.md)
+ [Comprendre les dossiers du CDC](cdc-record-format.md)
+ [Surveillance des flux](cdc-monitoring.md)

## Sémantique de commande et de livraison
<a name="cdc-ordering-delivery"></a>

### Garanties de livraison
<a name="cdc-delivery-guarantees"></a>

Aurora DSQL CDC garantit que chaque modification validée atteint la cible au moins une fois. Aurora DSQL peut fournir un enregistrement plusieurs fois. Concevez votre application de manière à gérer les doublons. Vous pouvez identifier un doublon en comparant `source.ts_ns` les valeurs clés primaires : un doublon possède les mêmes valeurs que la livraison d'origine.

### Commande
<a name="cdc-ordering"></a>

Les flux CDC utilisent `UNORDERED` le mode. En pratique, les enregistrements arrivent dans un ordre de validation approximatif, car Aurora DSQL lit et publie les modifications de manière séquentielle. Cependant, Aurora DSQL ne garantit pas un ordre strict. En particulier :
+ Aurora DSQL peut fournir des enregistrements de différentes transactions dans n'importe quel ordre.
+ Les enregistrements d'une même clé primaire provenant de différentes transactions peuvent arriver hors ordre de validation.
+ Les enregistrements d'une seule transaction peuvent être entrelacés avec les enregistrements d'autres transactions. Utilisez le `source.txId` champ pour regrouper les enregistrements par transaction lorsque votre flux de travail l'exige.

Chaque enregistrement CDC inclut un `source.ts_ns` champ qui contient l'horodatage de validation de la transaction en nanosecondes. Utilisez ce champ pour établir l'ordre de validation du côté destinataire.

### Stratégies pour les consommateurs
<a name="cdc-consumer-strategies"></a>

Étant donné que les enregistrements peuvent arriver hors ordre de validation et apparaître plusieurs fois, votre application doit tenir compte de ces deux conditions.

**Important**  
Définissez une clé primaire sur toutes les tables participant au CDC. Sans clé primaire, votre application ne peut pas dédupliquer les enregistrements ni corréler les suppressions avec la ligne concernée.

**Last-writer-wins (vues matérialisées, caches)**  
Suivez la `source.ts_ns` valeur la plus élevée par clé primaire. Supprimez tout enregistrement dont la valeur `source.ts_ns` est inférieure ou égale à la valeur suivie. Cela filtre à la fois les doublons et les enregistrements en rupture de commande, en conservant l'état le plus récent pour chaque clé. Lorsque vous traitez un delete (`op: "d"`), stockez une pierre tombale pour la clé primaire qui préserve la `source.ts_ns` valeur au lieu de supprimer l'entrée. La pierre tombale garantit qu'une insertion ou une mise à jour avec une valeur antérieure `source.ts_ns` qui arrive après la suppression ne restaure pas incorrectement la ligne.

**Every-change traitement (enregistrement des audits, recherche d'événements)**  
Supprimez les doublons en les comparant `source.ts_ns` avec les valeurs de la clé primaire. Mettez en mémoire tampon les enregistrements entrants et triez-les `source.ts_ns` avant le traitement pour reconstituer l'ordre de validation.

## Multi-Region Configuration du flux CDC
<a name="cdc-multi-region"></a>

Un flux CDC est une ressource régionale. Chaque flux appartient à une seule AWS région et apporte des modifications à un flux de données Kinesis dans la même région. Dans un cluster multirégional, un flux CDC dans n'importe quelle région capture les écritures validées provenant de **toutes les régions** du cluster. Cela signifie que vous n'avez besoin que d'un seul flux pour capturer chaque modification, quelle que soit l'origine de l'écriture. Pour diffuser les dossiers du CDC dans plusieurs régions, créez un flux distinct dans chaque région. Chaque flux capture indépendamment l'ensemble des modifications validées au sein du cluster.

Toutes les ressources (cluster SQL Aurora, flux de données Kinesis, rôle de service IAM et principal d'appel) doivent se trouver dans le même compte et dans la même région. AWS 

## Traitement des dossiers du CDC en aval
<a name="cdc-downstream-processing"></a>

Une fois que les enregistrements CDC sont arrivés dans votre flux de données Kinesis, vous pouvez les traiter directement ou les acheminer vers d'autres destinations à l'aide des services d' AWS intégration. Le tableau suivant récapitule les modèles de traitement courants.


**Modèles de traitement courants pour les dossiers du CDC**  

| Modèle | Comment ça marche | 
| --- |--- |
| Consommation directe | Lisez les enregistrements de Kinesis à l'aide de la bibliothèque client Amazon Kinesis (KCL), AWS du SDK ou d'un client Kinesis Data Streams. Consultez la section [Developing KCL consumers](https://docs.aws.amazon.com/streams/latest/dev/shared-throughput-kcl-consumers.html) dans le guide du développeur Amazon Kinesis Data Streams. | 
| AWS Lambda | Configurez une fonction Lambda comme source d'événements pour votre flux de données Kinesis afin de traiter chaque lot d'enregistrements CDC à leur arrivée. Consultez la section [Utilisation de AWS Lambda avec Amazon Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) dans le guide du développeur AWS Lambda. | 
| Amazon Data Firehose | Transférez des enregistrements CDC depuis Kinesis vers Amazon S3, Amazon Redshift, OpenSearch Amazon Service ou d'autres destinations à des fins d'analyse et d'archivage. Consultez la section [Envoi de données vers un flux de diffusion](https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) dans le manuel Amazon Data Firehose Developer Guide. | 
| Self-managed consommateurs | Exécutez Apache Kafka Connect avec le connecteur source Kinesis, Apache Flink ou d'autres frameworks de traitement de flux pour transformer et acheminer les enregistrements. Pour activer Apache Flink AWS, consultez la [section Configuration de la saisie d'applications](https://docs.aws.amazon.com/managed-flink/latest/java/how-it-works-input.html) dans le guide du développeur Amazon Managed Service for Apache Flink. | 

Chaque enregistrement CDC inclut des champs tels que `source.schema``source.table`, et `op` que vous pouvez utiliser pour acheminer et filtrer les enregistrements dans votre logique de traitement. Pour le schéma d'enregistrement complet, voir[Comprendre les dossiers du CDC](cdc-record-format.md).