Streaming dei dati del diario da Amazon QLDB - Database Amazon Quantum Ledger (Amazon) QLDB

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

Streaming dei dati del diario da Amazon QLDB

Importante

Avviso di fine del supporto: i clienti esistenti potranno utilizzare Amazon QLDB fino alla fine del supporto il 31/07/2025. Per ulteriori dettagli, consulta Migrare un Amazon QLDB Ledger ad Amazon Aurora Postgre. SQL

Amazon QLDB utilizza un log transazionale immutabile, noto come journal, per l'archiviazione dei dati. Il diario tiene traccia di ogni modifica ai dati impegnati e mantiene una cronologia completa e verificabile delle modifiche nel tempo.

Puoi creare uno stream QLDB che acquisisca ogni revisione del documento inserita nel tuo diario e trasmetta questi dati ad Amazon Kinesis Data Streams quasi in tempo reale. Un QLDB flusso è un flusso continuo di dati dal diario del registro a una risorsa di flusso di dati Kinesis.

Quindi, utilizzi la piattaforma di streaming Kinesis o la Kinesis Client Library per consumare lo streaming, elaborare i record di dati e analizzare il contenuto dei dati. Uno QLDB stream scrive i dati su Kinesis Data Streams in tre tipi di record: controllo, riepilogo dei blocchi e dettagli di revisione. Per ulteriori informazioni, consulta QLDBstreaming di record in Kinesis.

Casi di utilizzo comune

Lo streaming ti consente di utilizzarli QLDB come un'unica fonte di verità verificabile, integrando al contempo i dati del diario con altri servizi. Di seguito sono riportati alcuni dei casi d'uso più comuni supportati da QLDB Journal Streams:

  • Architettura basata sugli eventi: crea applicazioni in uno stile architettonico basato sugli eventi con componenti disaccoppiati. Ad esempio, una banca può utilizzare AWS Lambda le funzioni per implementare un sistema di notifica che avvisa i clienti quando il saldo del loro conto scende al di sotto di una soglia. In un sistema di questo tipo, i saldi dei conti vengono conservati in un QLDB registro e tutte le modifiche al saldo vengono registrate nel giornale di registrazione. La AWS Lambda funzione può attivare la logica di notifica quando si consuma un evento di aggiornamento del saldo che viene salvato nel journal e inviato a un flusso di dati Kinesis.

  • Analisi in tempo reale: crea applicazioni Kinesis consumer che eseguono analisi in tempo reale sui dati degli eventi. Con questa funzionalità, puoi ottenere informazioni dettagliate quasi in tempo reale e rispondere rapidamente a un ambiente aziendale in evoluzione. Ad esempio, un sito di e-commerce può analizzare i dati di vendita dei prodotti e interrompere la pubblicità di un prodotto scontato non appena le vendite raggiungono un limite.

  • Analisi storica: sfrutta l'architettura orientata al journal di Amazon QLDB riproducendo i dati storici degli eventi. Puoi scegliere di avviare uno QLDB stream in qualsiasi momento del passato, in cui tutte le revisioni successive a quel momento vengono consegnate a Kinesis Data Streams. Utilizzando questa funzionalità, puoi creare applicazioni consumer Kinesis che eseguono processi di analisi su dati storici. Ad esempio, un sito di e-commerce può eseguire analisi in base alle esigenze per generare metriche di vendita passate che non erano state acquisite in precedenza.

  • Replica su database creati appositamente: collega i QLDB registri ad altri archivi di dati creati appositamente utilizzando flussi di journal. QLDB Ad esempio, utilizza la piattaforma di streaming di dati Kinesis per l'integrazione con Amazon OpenSearch Service, che può fornire funzionalità di ricerca di testo completo per i QLDB documenti. Puoi anche creare applicazioni Kinesis consumer personalizzate per replicare i dati del tuo diario su altri database creati appositamente che forniscono diverse viste materializzate. Ad esempio, esegui la replica su Amazon Aurora per dati relazionali o su Amazon Neptune per dati basati su grafici.

Consumo del tuo streaming

Usa Kinesis Data Streams per consumare, elaborare e analizzare continuamente grandi flussi di record di dati. Oltre a Kinesis Data Streams, la piattaforma di streaming di dati Kinesis include Amazon Data Firehose e Amazon Managed Service for Apache Flink. Puoi utilizzare questa piattaforma per inviare record di dati direttamente a servizi come Amazon OpenSearch Service, Amazon Redshift, Amazon S3 o Splunk. Per ulteriori informazioni, consulta la sezione Consumatori di Kinesis Data Streams nella Amazon Kinesis Data Streams Developer Guide.

Puoi anche utilizzare Kinesis Client Library (KCL) per creare un'applicazione consumer stream per elaborare i record di dati in modo personalizzato. KCLSemplifica la codifica fornendo astrazioni utili al di sopra dei Kinesis Data Streams di basso livello. API Per ulteriori informazioniKCL, consulta Using the Kinesis Client Library nella Amazon Kinesis Data Streams Developer Guide.

Garanzia di consegna

QLDBgli stream offrono una garanzia at-least-oncedi consegna. Ogni record di dati prodotto da un QLDB flusso viene inviato a Kinesis Data Streams almeno una volta. Gli stessi record possono apparire più volte in un flusso di dati Kinesis. Pertanto, è necessario disporre di una logica di deduplicazione a livello di applicazione consumer se il caso d'uso lo richiede.

Inoltre, non ci sono garanzie di ordinazione. In alcune circostanze, è possibile produrre QLDB blocchi e revisioni in un flusso di dati Kinesis non funzionante. Per ulteriori informazioni, consulta Gestione di duplicati e record out-of-order.

Considerazioni sulla latenza di consegna

QLDBgli stream in genere forniscono aggiornamenti a Kinesis Data Streams quasi in tempo reale. Tuttavia, i seguenti scenari potrebbero creare una latenza aggiuntiva prima che i nuovi QLDB dati salvati vengano emessi in un flusso di dati Kinesis:

  • Kinesis è in grado di limitare i dati in streamingQLDB, a seconda del provisioning di Kinesis Data Streams. Ad esempio, ciò potrebbe verificarsi se sono presenti più QLDB flussi che scrivono su un singolo flusso di dati Kinesis e la frequenza QLDB di richiesta supera la capacità della risorsa Kinesis stream. La limitazione in Kinesis può verificarsi anche quando si utilizza il provisioning su richiesta se il throughput aumenta fino a più del doppio del picco precedente in meno di 15 minuti.

    Puoi misurare questo throughput superato monitorando la metrica Kinesis. WriteProvisionedThroughputExceeded Per ulteriori informazioni e possibili soluzioni, vedi Come posso risolvere gli errori di limitazione in Kinesis Data Streams? .

  • Con QLDB gli stream, puoi creare uno stream indefinito con data e ora di inizio precedenti e senza data e ora di fine. In base alla progettazione, QLDB inizia a inviare i nuovi dati confermati a Kinesis Data Streams solo dopo che tutti i dati precedenti della data e dell'ora di inizio specificate sono stati consegnati correttamente. Se si percepisce una latenza aggiuntiva in questo scenario, potrebbe essere necessario attendere la consegna dei dati precedenti oppure è possibile avviare lo streaming da una data e un'ora di inizio successive.

Guida introduttiva agli stream

Di seguito è riportata una panoramica di alto livello dei passaggi necessari per iniziare a trasmettere i dati del journal su Kinesis Data Streams:

  1. Crea una risorsa Kinesis Data Streams. Per istruzioni, consulta Creazione e aggiornamento di flussi di dati nella Amazon Kinesis Data Streams Developer Guide.

  2. Crea un IAM ruolo che QLDB consenta di assumere le autorizzazioni di scrittura per il flusso di dati Kinesis. Per istruzioni, consulta Autorizzazioni di streaming in QLDB.

  3. Crea un flusso di QLDB diario. Per istruzioni, consulta Creazione e gestione di stream in QLDB.

  4. Consuma il flusso di dati Kinesis, come descritto nella sezione precedente. Consumo del tuo streaming Per esempi di codice che mostrano come utilizzare la Kinesis Client Library oppure AWS Lambda, consulta. Sviluppo con stream in QLDB