Change Data Capture con Amazon DynamoDB - Amazon DynamoDB

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à.

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 relativi a questi aggiornamenti, fornendo metriche di near-real-time utilizzo per l'app mobile.

  • Un'applicazione finanziaria modifica i dati del mercato azionario in una tabella DynamoDB. Diverse applicazioni eseguite in parallelo tracciano questi cambiamenti in tempo reale, calcolano e value-at-risk ribilanciano automaticamente i portafogli in base ai movimenti dei prezzi 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.

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 e 2.X. Supporta KCL versione 1.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 di velocità effettiva stabilite dalla tabella DynamoDB e dalla regione. AWS
Modello di distribuzione record Pull model over HTTP utilizzando GetRecordse con fan-out migliorato, Kinesis Data Streams trasferisce i record su HTTP/2 utilizzando Shard. SubscribeTo Recupera il modello tramite HTTP utilizzando. 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.