Come posso controllare il numero di file CDC che vengono generati per il mio endpoint S3 di destinazione utilizzando AWS DMS?

Ultimo aggiornamento: 29/07/2022

Desidero controllare il numero di file di acquisizione dei dati di modifica (CDC) che vengono generati quando utilizzo Amazon Simple Storage Service (Amazon S3) come endpoint di destinazione. Come posso utilizzare AWS Database Migration Service (AWS DMS) in tal senso?

Breve descrizione

Quando utilizzi Amazon S3 come endpoint di destinazione per un carico completo e CDC, o un'attività AWS DMS esclusivamente CDC, puoi utilizzare una serie di parametri per controllare la dimensione del file associato nell'endpoint S3 di destinazione.

In questo articolo vengono illustrati questi attributi di connessione aggiuntivi (ECA) e come utilizzarli per controllare il volume dei file CDC generati sul tuo endpoint Amazon S3:

  • cdcMaxBatchInterval: la condizione di lunghezza massima dell'intervallo, definita in secondi, per produrre un file in Amazon S3. Il valore predefinito è 60 secondi.
  • cdcMInFileSize: la condizione di dimensione minima del file, definita in KB, per produrre un file in Amazon S3. Il valore predefinito è 32000 KB.
  • maxFileSize: la dimensione massima, in KB, di qualsiasi file .csv da creare durante la migrazione a un S3 di destinazione durante il caricamento completo. Il valore predefinito è 1 GB.
  • WriteBufferSize: la dimensione, in KB, del buffer di scrittura dei file in memoria utilizzato durante la generazione dei file.csv sul disco locale nell'istanza di replica di AWS DMS. Il valore predefinito è 1000 KB.

Risoluzione

Il parametro cdcMaxBatchInterval controlla l'intervallo di tempo per la scrittura dei file in Amazon S3. Quando utilizza il valore predefinito di 60 secondi, AWS DMS scrive i file in Amazon S3 ogni minuto. Un altro parametro importante è il parametro cdcMInFileSize, che determina la dimensione massima del file CDC. Quando si utilizza il valore predefinito di 32 KB, AWS DMS scrive in Amazon S3 ogni volta che dispone di 32 KB di dati di modifica.

I parametri cdcMaxBatchInterval e cdcMinFileSize funzionano insieme. AWS DMS utilizza il valore del parametro che viene raggiunto per primo. Quindi, con la configurazione predefinita, AWS DMS scrive il file in Amazon S3 se ha un minuto di modifiche in sospeso o 32 KB di dati, a seconda di quale evento accada per primo.

maxFileSize determina la dimensione massima del file dai file di output di destinazione S3 per entrambi i formati CSV e Parquet. Tuttavia, durante la scrittura nei file .parquet, AWS DMS scrive i dati in batch:

1.    AWS DMS assegna un segmento di memoria di 1024 KB, che è la dimensione predefinita per writeBufferSize.

2.    A prescindere dal valore di maxFileSize, AWS DMS assegna almeno un buffer di scrittura con una dimensione predefinita di 1 MB.

3.    Quando AWS DMS termina la scrittura del primo batch di dati, confronta la dimensione corrente dei dati con maxFileSize. I dati vengono scritti in un file .parquet nel bucket S3 di destinazione se la dimensione corrente è maggiore o uguale a maxFileSize.

4.    Se si imposta maxFileSize su 1 MB, writeBufferSize, con un valore predefinito di 1 MB, soddisfa il valore di maxFileSize. Questo avviene perché la condizione è già soddisfatta dopo l'allocazione di un buffer di scrittura. Quindi, se si riduce il valore di writeBufferSize impostandolo a meno di 1 MB, il controllo condizionale avviene quando la dimensione dei dati da scrivere è inferiore a 1 MB. In questo modo, è possibile ridurre le dimensioni del file .parquet generato.

Nota: le impostazioni dei parametri WriteBufferSize si applicano solo ai file.parquet e non ai file.csv.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?