

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Modifica i flussi di acquisizione dati (anteprima)
<a name="cdc-streams"></a>

**Importante**  
Questa funzionalità viene fornita come anteprima ed è soggetta a modifiche AWS . Per ulteriori informazioni, consulta la sezione 2, Beta e anteprime, nei Termini di [AWS servizio](https://aws.amazon.com/service-terms/). Per ulteriori informazioni sui prezzi degli stream CDC, consulta la pagina dei prezzi di [Aurora DSQL](https://aws.amazon.com/rds/aurora/dsql/pricing/).  
Prima della disponibilità generale, aggiungeremo nuovi tipi di operazioni (`"op": "u"`per gli aggiornamenti) al payload dello stream. Per garantire che l'applicazione gestisca queste modifiche senza modifiche, considera qualsiasi `op` valore non riconosciuto come un problema, applicando il payload. `after` Per informazioni dettagliate, vedi [Comprensione dei record CDC](cdc-record-format.md).

Amazon Aurora DSQL Change Data Capture (CDC) trasmette le modifiche effettuate al database quasi in tempo reale direttamente su Amazon Kinesis Data Streams. Aurora DSQL fornisce ogni modifica a livello di riga impegnata come record JSON strutturato a un flusso di dati Kinesis configurato dall'utente.

CDC è utile quando vuoi:
+ **Mantieni sincronizzati i sistemi downstream**: replica le modifiche su un indice di ricerca, una cache, un data warehouse o un sistema di analisi senza processi in batch.
+ **Crea architetture basate sugli eventi**: attiva flussi di lavoro, notifiche o azioni di microservizi in risposta alle modifiche del database.
+ **Mantieni una traccia di controllo**: acquisisci ogni modifica importante per la conformità, il debug o l'analisi storica.
+ **Separa i produttori dai consumatori**: lascia che il database si concentri sulle transazioni, mentre i sistemi a valle elaborano le modifiche al proprio ritmo.

## Come funziona
<a name="cdc-how-it-works"></a>

Aurora DSQL legge le transazioni confermate, formatta ogni modifica di riga come record JSON strutturato e la invia a un flusso di dati Kinesis configurato dall'utente. CDC acquisisce automaticamente tutte le tabelle utente del cluster e `DELETE` su tutte `INSERT` le altre. `UPDATE` Applica la logica di filtraggio nelle app downstream utilizzando i `source.table` campi `source.schema` e di ogni record CDC per concentrarti sulle tabelle o sulle modifiche necessarie all'app.

Gli stream CDC sono completamente gestiti. Aurora DSQL gestisce tutta l'infrastruttura necessaria per acquisire gli eventi di modifica, monitora lo stato del flusso e riporta lo stato tramite le operazioni e le metriche dell'`GetStream`API. CloudWatch 

Gli stream CDC utilizzano un modello bring-your-own-target. Crei e gestisci il flusso di dati Kinesis nel tuo account e Aurora DSQL assume un ruolo IAM che configuri per scrivere record CDC per tuo conto. Sei responsabile della capacità, della crittografia e delle impostazioni di conservazione dell'obiettivo. Per gli ultimi obiettivi supportati, consulta il `TargetDefinition` parametro [CreateStream](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_CreateStream.html)in Amazon Aurora DSQL API Reference. Per un elenco completo delle operazioni delle API di flusso CDC, consulta [Amazon Aurora DSQL](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/CHAP_api_reference.html) API Reference.

## Argomenti in questa pagina
<a name="cdc-topics-on-page"></a>
+ [Semantica di ordinazione e consegna](#cdc-ordering-delivery)
+ [Multi-Region Configurazione dello stream CDC](#cdc-multi-region)
+ [Elaborazione dei record CDC a valle](#cdc-downstream-processing)

## Argomenti correlati
<a name="cdc-related-topics"></a>
+ [Guida introduttiva agli stream CDC](cdc-setup.md)
+ [Configurazione di IAM](cdc-iam.md)
+ [Comprensione dei record CDC](cdc-record-format.md)
+ [Monitoraggio dei flussi](cdc-monitoring.md)

## Semantica di ordinazione e consegna
<a name="cdc-ordering-delivery"></a>

### Garanzie di consegna
<a name="cdc-delivery-guarantees"></a>

Aurora DSQL CDC garantisce che ogni modifica confermata raggiunga l'obiettivo almeno una volta. Aurora DSQL può fornire un record più di una volta. Progetta la tua app per gestire i duplicati. Puoi identificare un duplicato confrontando `source.ts_ns` i valori della chiave primaria: un duplicato ha gli stessi valori della distribuzione originale.

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

Modalità di utilizzo degli stream CDC. `UNORDERED` In pratica, i record arrivano in ordine di commit approssimativo perché Aurora DSQL legge e pubblica le modifiche in sequenza. Tuttavia, Aurora DSQL non garantisce un ordinamento rigoroso. Nello specifico:
+ Aurora DSQL è in grado di fornire record di transazioni diverse in qualsiasi ordine.
+ I record per la stessa chiave primaria di transazioni diverse possono provenire dall'ordine di committenza.
+ I record di una singola transazione possono interlacciarsi con i record di altre transazioni. Utilizza il `source.txId` campo per raggruppare i record per transazione quando il flusso di lavoro lo richiede.

Ogni record CDC include un `source.ts_ns` campo che contiene il timestamp di conferma della transazione in nanosecondi. Utilizzate questo campo per stabilire l'ordine di commit sul lato ricevente.

### Strategie di consumo
<a name="cdc-consumer-strategies"></a>

Poiché i record possono provenire dall'ordine di conferma e apparire più di una volta, l'app deve tenere conto di entrambe le condizioni.

**Importante**  
Definisci una chiave primaria su tutte le tabelle che partecipano a CDC. Senza una chiave primaria, l'app non può deduplicare i record o correlare le eliminazioni alla riga interessata.

**Last-writer-wins (viste materializzate, cache)**  
Tieni traccia del `source.ts_ns` valore più alto per chiave primaria. Elimina qualsiasi record con un valore `source.ts_ns` inferiore o uguale al valore tracciato. Questo filtra sia i record duplicati che quelli non ordinati, mantenendo lo stato più recente di ogni chiave. Quando elaborate un delete (`op: "d"`), memorizzate una lapide per la chiave primaria che preserva il valore invece di rimuovere la `source.ts_ns` voce. La lapide assicura che un inserimento o un aggiornamento con una precedente `source.ts_ns` che arriva dopo l'eliminazione non ripristini erroneamente la riga.

**Every-change elaborazione (registrazione degli audit, approvvigionamento degli eventi)**  
Rimuovi i duplicati confrontandoli con i `source.ts_ns` valori della chiave primaria. Memorizza nel buffer i record in entrata e ordinali `source.ts_ns` prima dell'elaborazione per ricostruire l'ordine di commit.

## Multi-Region Configurazione dello stream CDC
<a name="cdc-multi-region"></a>

Uno stream CDC è una risorsa regionale. Ogni flusso appartiene a una singola AWS regione e fornisce modifiche a un flusso di dati Kinesis nella stessa regione. In un cluster multiregionale, uno stream CDC in una regione qualsiasi acquisisce le scritture effettuate da **tutte le regioni** del cluster. Ciò significa che è sufficiente un solo stream per acquisire ogni modifica, indipendentemente dall'origine della scrittura. Per distribuire i record CDC in più di una regione, crea uno stream separato in ciascuna regione. Ogni stream acquisisce in modo indipendente l'intero set di modifiche confermate nel cluster.

Tutte le risorse, il cluster Aurora DSQL, il flusso di dati Kinesis, il ruolo del servizio IAM e il calling principal, devono trovarsi nello stesso account e nella stessa regione. AWS 

## Elaborazione dei record CDC a valle
<a name="cdc-downstream-processing"></a>

Dopo l'arrivo dei record CDC nel flusso di dati Kinesis, è possibile elaborarli direttamente o indirizzarli verso altre destinazioni AWS utilizzando i servizi di integrazione. La tabella seguente riassume i modelli di elaborazione più comuni.


**Modelli di elaborazione comuni per i record CDC**  

| Pattern | Come funziona | 
| --- |--- |
| Consumo diretto | Leggi i record di Kinesis utilizzando Amazon Kinesis Client Library (KCL), AWS l'SDK o un consumer Kinesis Data Streams. Consulta la sezione [Sviluppo di consumatori KCL](https://docs.aws.amazon.com/streams/latest/dev/shared-throughput-kcl-consumers.html) nella Amazon Kinesis Data Streams Developer Guide. | 
| AWS Lambda | Configura una funzione Lambda come fonte di eventi per il flusso di dati Kinesis per elaborare ogni batch di record CDC non appena arrivano. Vedi [Uso di AWS Lambda con Amazon Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) nella AWS Lambda Developer Guide. | 
| Amazon Data Firehose | Distribuisci i record CDC da Kinesis ad Amazon S3, Amazon Redshift OpenSearch, Amazon Service o altre destinazioni per l'analisi e l'archiviazione. Vedi [Invio di dati a un flusso di distribuzione](https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) nella Amazon Data Firehose Developer Guide. | 
| Self-managed consumatori | Esegui Apache Kafka Connect con il connettore sorgente Kinesis, Apache Flink o altri framework di elaborazione dei flussi per trasformare e indirizzare i record. Per Apache Flink attivo AWS, consulta [Configurazione dell'input dell'app](https://docs.aws.amazon.com/managed-flink/latest/java/how-it-works-input.html) nella Amazon Managed Service for Apache Flink Developer Guide. | 

Ogni record CDC include campi come `source.schema``source.table`, e `op` che puoi utilizzare per indirizzare e filtrare i record nella tua logica di elaborazione. Per lo schema completo dei record, vedere[Comprensione dei record CDC](cdc-record-format.md).