Change Data Capture con Amazon DynamoDB - Amazon DynamoDB

Change Data Capture con Amazon DynamoDB

Molte applicazioni traggono vantaggio dalla possibilità di acquisire le modifiche apportate a elementi archiviati in una tabella DynamoDB, nel momento in cui si verificano tali modifiche. Di seguito sono riportati alcuni esempi di casi d'uso:

  • Un'applicazione per dispositivi mobili popolare modifica i dati in una tabella DynamoDB alla velocità di migliaia di aggiornamenti al secondo. Un'altra applicazione acquisisce e archivia i dati su questi aggiornamenti, fornendo parametri di utilizzo praticamente in tempo reale per l'app per dispositivi mobili.

  • Un'applicazione finanziaria modifica i dati del mercato azionario in una tabella DynamoDB. Diverse applicazioni eseguite in parallelo tengono traccia di questi cambiamenti in tempo reale, calcolano il valore a rischio e ribilanciano automaticamente i portafogli in base ai movimenti del prezzo delle azioni.

  • I sensori nei veicoli di trasporto e nelle attrezzature industriali inviano dati a una tabella DynamoDB. Diverse applicazioni monitorano le prestazioni e inviano avvisi di messaggistica quando viene rilevato un problema, prevedono eventuali difetti applicando algoritmi di machine learning e comprimono e archiviano i dati in Amazon Simple Storage Service (Amazon S3).

  • Un'applicazione invia automaticamente notifiche ai dispositivi mobili di tutti gli amici inclusi in un gruppo non appena un amico carica una nuova immagine.

  • Un nuovo cliente aggiunge dati a una tabella DynamoDB. Questo evento richiama un'altra applicazione che invia un'e-mail di benvenuto al nuovo cliente.

DynamoDB supporta lo streaming dei record di acquisizione dei dati delle modifiche a livello di elemento in tempo quasi reale. È possibile creare applicazioni che utilizzano questi flussi e agiscono in base al contenuto.

Nota

L’aggiunta di tag ai flussi DynamoDB e l’utilizzo del controllo degli accessi basato su attributi (ABAC) con i flussi DynamoDB non sono supportati.

Il seguente video ti fornirà un'introduzione sul concetto di acquisizione dei dati di modifica.

Opzioni di streaming per Change Data Capture

DynamoDB offre due modelli di streaming per l'acquisizione dei dati delle modifiche: Kinesis Data Streams per DynamoDB e DynamoDB Streams.

Per scegliere la soluzione più adatta per l'applicazione, la tabella seguente riassume le caratteristiche di ciascun modello di streaming.

Proprietà Kinesis Data Streams per DynamoDB DynamoDB Streams
Conservazione dei dati Fino a 1 anno. 24 ore.
Supporto per Kinesis Client Library (KCL) Supporta KCL, versioni 1.X, 2.X e 3.X. Supporta KCL versioni 1.X e 2.X.
Numero di consumatori Fino a 5 consumatori simultanei per partizione, o fino a 20 consumatori simultanei per partizione confan-out potenziato. Fino a 2 consumatori simultanei per partizione.
Quote di velocità effettiva Illimitate. Soggetto alle quote della velocità effettiva in base alla tabella DynamoDB e alla regione AWS.
Modello di distribuzione record Esegue il modello tramite HTTP utilizzando GetRecords e fan-out potenziato, Kinesis Data Streams inserisce i record su HTTP/2 utilizzando SubscribeToShard. Modello pull tramite HTTP con GetRecords.
Ordinamento dei record L'attributo timestamp su ogni record di flusso può essere utilizzato per identificare l'ordine effettivo in cui si sono verificate le modifiche nella tabella DynamoDB. Per ogni elemento modificato in una tabella DynamoDB, i record di flusso vengono visualizzati nella stessa sequenza delle modifiche effettive apportate all'elemento.
Duplicazione di record Nel flusso potrebbero apparire occasionalmente record duplicati. Nel flusso non vengono visualizzati record duplicati.
Opzioni di elaborazione del flusso Elabora i record di flusso utilizzando AWS Lambda, il Servizio gestito da Amazon per Apache Flink, Kinesis data firehose o lo streaming ETL di AWS Glue. Elabora i record di flusso utilizzando AWS Lambda o l'adattatore DynamoDB Streams Kinesis.
Livello di durabilità Zone di disponibilità per fornire un failover automatico senza interruzioni. Zone di disponibilità per fornire un failover automatico senza interruzioni.

È possibile abilitare entrambi i modelli di streaming sulla stessa tabella DynamoDB.

Il video seguente analizza ulteriormente le differenze tra le due opzioni.