Wie kann ich die Anzahl der CDC-Dateien kontrollieren, die für meinen S3-Zielendpunkt mit AWS DMS generiert werden?

Letzte Aktualisierung: 2022-12-01

Ich möchte die Anzahl der CDC-Dateien (Change Data Capture) kontrollieren, die erzeugt werden, wenn ich Amazon Simple Storage Service (Amazon S3) als Zielendpunkt verwende. Wie kann ich dazu den AWS Database Migration Service (AWS DMS) verwenden?

Kurzbeschreibung

Wenn Sie Amazon S3 als Zielendpunkt verwenden, können Sie eine Reihe von Parametern verwenden, um die zugehörige Dateigröße am Zielendpunkt zu steuern. Dazu gehört die Verwendung von Amazon S3 als Zielendpunkt für eine Volllast- und CDC-Aufgabe oder eine reine CDC-AWS-DMS-Aufgabe.

In diesem Artikel werden die folgenden zusätzlichen Verbindungsattribute (ECAs) beschrieben. Darüber hinaus wird erläutert, wie sie zur Kontrolle des Volumens der auf Ihrem Amazon S3-Endpunkt generierten CDC-Dateien verwendet werden können:

  • cdcMaxBatchInterval — Die in Sekunden definierte maximale Intervalllänge für die Ausgabe einer Datei in Amazon S3. Der Standardwert ist 60 Sekunden.
  • cdcMinFileSize — Die in KB definierte Mindestbedingung für die Dateigröße zur Ausgabe einer Datei in Amazon S3. Der Standardwert ist 32000 KB.
  • maxFileSize - Die maximale Größe, in KB, einer .csv-Datei, die während der Migration zu einem S3-Ziel bei voller Auslastung erstellt werden soll. Der Standardwert ist 1 GB.
  • WriteBufferSize — Die Größe des In-Memory-Dateischreibpuffers in KB, der beim Generieren von .csv-Dateien auf der lokalen Festplatte in der AWS DMS-Replikations-Instance verwendet wird. Der Standardwert ist 1000 KB.

Auflösung

Der Parameter cdcMaxBatchInterval steuert das Zeitintervall für das Schreiben von Dateien in Amazon S3. Wenn der Standardwert von 60 Sekunden verwendet wird, schreibt AWS DMS jede Minute Dateien in Amazon S3. Ein weiterer wichtiger Parameter ist der Parameter cdcMinFileSize, der die maximale Größe der CDC-Datei bestimmt. Wenn Sie den Standardwert von 32000 KB verwenden, schreibt AWS DMS jedes Mal in Amazon S3, wenn es 32000 KB an Änderungsdaten hat.

Die Parameter cdcMaxBatchInterval und cdcMinFileSize arbeiten zusammen. AWS DMS verwendet den Parameterwert, der zuerst erfüllt wird. In der Standardeinstellung schreibt AWS DMS eine Datei in Amazon S3, wenn sie entweder eine Minute lang ausstehende Änderungen oder 32000 KB an Daten enthält. Je nachdem, was zuerst passiert, wird eine dieser Aktionen abgeschlossen.
Hinweis: AWS DMS verwaltet die Transaktion in derselben Datei, sodass die Dateigröße die Werte von cdcMinFileSize und cdcMaxBatchInterval überschreiten kann, wenn die Transaktion umfangreich ist.

maxFileSize bestimmt die maximale Dateigröße aus S3-Zielausgabedateien für das CSV- und das Parquet-Format. Beim Schreiben in .parquet-Dateien schreibt AWS DMS Daten jedoch stapelweise:

1.    AWS DMS weist ein Speichersegment von 1024 KB zu. Dies ist die Standardgröße für writeBufferSize.

2.    Unabhängig vom Wert von maxFileSize weist AWS DMS mindestens einen Schreibpuffer mit einer Standardgröße von 1 MB zu.

3.    Wenn AWS DMS das Schreiben des ersten Datenstapels abgeschlossen hat, vergleicht es die aktuelle Datengröße mit der MaxFileSize. Die Daten werden in eine .parquet-Datei im S3-Ziel-Bucket geschrieben, wenn die aktuelle Größe größer oder gleich maxFileSize ist.

4.    Wenn Sie maxFileSize auf 1 MB festlegen, entspricht writeBufferSize mit einem Standardwert von 1 MB dem Wert von maxFileSize. Dies liegt daran, dass die Bedingung bereits erfüllt ist, nachdem ein Schreibpuffer zugewiesen wurde. Wenn Sie die Gesamtgröße der generierten .parquet-Datei verringern möchten, können Sie den Wert von writeBufferSize verringern. Wenn Sie ihn auf weniger als 1 MB einstellen, erfolgt die bedingte Überprüfung, wenn die Größe der geschriebenen Daten weniger als 1 MB beträgt.

Hinweis: Die WriteBufferSize-Parametereinstellungen gelten nur für .parquet- und nicht für .csv-Dateien.


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?