Comment puis-je contrôler le nombre de fichiers de CDC générés pour mon point de terminaison S3 cible à l'aide d'AWS DMS ?

Dernière mise à jour : 01-12-2022

Je veux contrôler le nombre de fichiers de capture de données modifiées (CDC) générés lorsque j'utilise Amazon Simple Storage Service (Amazon S3) comme point de terminaison cible. Comment puis-je utiliser AWS Database Migration Service (AWS DMS) pour ce faire ?

Brève description

Lorsque vous utilisez Amazon S3 comme point de terminaison cible, vous pouvez utiliser un certain nombre de paramètres pour contrôler la taille de fichier associée sur le point de terminaison cible. Cela inclut l'utilisation d'Amazon S3 comme point de terminaison cible pour un chargement complet et un CDC, ou une tâche AWS DMS uniquement en CDC.

Cet article décrit les attributs de connexion supplémentaires (ECA) suivants. Il explique également comment les utiliser pour contrôler le volume de fichiers CDC générés sur votre terminal Amazon S3 :

  • cdcMaxBatchInterval – La condition de longueur d'intervalle maximale, définie en secondes, pour générer un fichier vers Amazon S3. La valeur par défaut est de 60 secondes.
  • cdcMinFileSize – La condition de taille minimale du fichier, définie en Ko, pour générer un fichier vers Amazon S3. La valeur par défaut est 32 000 Ko.
  • maxFileSize – La taille maximale, en Ko, de tout fichier .csv à créer lors de la migration vers une cible S3 pendant le chargement complet. La valeur par défaut est 1 Go.
  • WriteBufferSize – La taille, en Ko, du tampon d'écriture de fichier en mémoire utilisé lors de la création de fichiers .csv sur le disque local de l'instance de réplication AWS DMS. La valeur par défaut est 1 000 Ko.

Solution

Le paramètre cdcMaxBatchInterval contrôle l'intervalle de temps pour l'écriture des fichiers sur Amazon S3. Lorsqu'il utilise la valeur par défaut de 60 secondes, AWS DMS écrit des fichiers dans Amazon S3 toutes les minutes. Un autre paramètre important est le paramètre cdcMinFileSize, qui détermine la taille maximale du fichier de CDC. En utilisant la valeur par défaut de 32000 Ko, AWS DMS écrit dans Amazon S3 chaque fois qu'il dispose de 32000 Ko de données modifiées.

Les paramètres cdcMaxBatchInterval et cdcMinFileSize fonctionnent ensemble. AWS DMS utilise la valeur du paramètre qui est rencontrée en premier. Avec la configuration par défaut, AWS DMS écrit le fichier dans Amazon S3 s'il dispose soit d'une minute de modifications en attente, soit de 32000 Ko de données. En fonction de ce qui se passe en premier, l'une de ces actions sera exécutée.
Remarque : AWS DMS conserve la transaction dans le même fichier, de sorte que la taille du fichier peut dépasser cdcMinFileSize et cdcMaxBatchInterval si la transaction est importante.

maxFileSize détermine la taille maximale du fichier à partir des fichiers de sortie de S3 cible pour les formats CSV et Parquet. Toutefois, lors de l'écriture dans des fichiers .parquet, AWS DMS écrit les données par lots :

1.    AWS DMS alloue un segment de mémoire de 1 024 Ko, qui est la taille par défaut pour writeBufferSize.

2.    Quelle que soit la valeur de maxFileSize, AWS DMS alloue au moins un tampon d'écriture d'une taille par défaut de 1 Mo.

3.    Lorsque AWS DMS termine l'écriture du premier lot de données, il compare la taille actuelle des données à la valeur maxFileSize. Les données sont écrites dans un fichier .parquet dans le compartiment S3 cible si la taille actuelle est supérieure ou égale à maxFileSize.

4.    Si vous définissez maxFileSize sur 1 Mo, writeBufferSize, avec une valeur par défaut de 1 Mo, correspond à la valeur de maxFileSize. Cela est dû au fait que la condition est déjà remplie après l'allocation d'un tampon d'écriture. Si vous souhaitez réduire la taille globale du fichier .parquet généré, vous pouvez diminuer la valeur de writeBufferSize. En le réglant sur moins de 1 Mo, le contrôle conditionnel a lieu lorsque la taille des données écrites est inférieure à 1 Mo.

Remarque : les paramètres WriteBufferSize s'appliquent uniquement aux fichiers .parquet et non aux fichiers .csv.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?