Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Journaldaten von Amazon streamen QLDB
Wichtig
Hinweis zum Ende des Supports: Bestandskunden können Amazon QLDB bis zum Ende des Supports am 31.07.2025 nutzen. Weitere Informationen finden Sie unter Migrieren eines Amazon QLDB Ledgers zu Amazon Aurora SQL Postgre
Amazon QLDB verwendet ein unveränderliches Transaktionsprotokoll, ein sogenanntes Journal, für die Datenspeicherung. Das Journal verfolgt jede Änderung an Ihren übermittelten Daten und führt einen vollständigen und überprüfbaren Verlauf der Änderungen im Laufe der Zeit.
Sie können einen Stream erstellenQLDB, in dem jede Dokumentrevision erfasst wird, die in Ihr Journal übernommen wurde, und diese Daten nahezu in Echtzeit an Amazon Kinesis Data Streams
Anschließend verwenden Sie die Kinesis-Streaming-Plattform oder die Kinesis Client Library, um Ihren Stream zu konsumieren, die Datensätze zu verarbeiten und den Dateninhalt zu analysieren. Ein QLDB Stream schreibt Ihre Daten in drei Arten von Datensätzen in Kinesis Data Streams: Kontrolle, Blockzusammenfassung und Revisionsdetails. Weitere Informationen finden Sie unter QLDBStreamen von Datensätzen in Kinesis.
Themen
Häufige Anwendungsfälle
Mit Streaming können Sie Ihre Journaldaten QLDB als einzige, überprüfbare Informationsquelle nutzen und gleichzeitig Ihre Journaldaten in andere Dienste integrieren. Im Folgenden sind einige der häufigsten Anwendungsfälle aufgeführt, die von QLDB Journal-Streams unterstützt werden:
-
Ereignisgesteuerte Architektur — Erstellen Sie Anwendungen in einem ereignisgesteuerten Architekturstil mit entkoppelten Komponenten. Eine Bank kann beispielsweise AWS Lambda Funktionen verwenden, um ein Benachrichtigungssystem zu implementieren, das Kunden benachrichtigt, wenn ihr Kontostand unter einen Schwellenwert fällt. In einem solchen System werden die Kontensalden in einem QLDB Hauptbuch verwaltet, und alle Saldenänderungen werden im Journal erfasst. Die AWS Lambda Funktion kann die Benachrichtigungslogik auslösen, wenn ein Saldenaktualisierungsereignis verarbeitet wird, das im Journal festgeschrieben und an einen Kinesis-Datenstream gesendet wird.
-
Echtzeitanalysen — Erstellen Sie Kinesis-Anwendungen für Privatanwender, die Echtzeitanalysen von Ereignisdaten durchführen. Mit dieser Funktion können Sie nahezu in Echtzeit Einblicke gewinnen und schnell auf eine sich verändernde Geschäftsumgebung reagieren. Beispielsweise kann eine E-Commerce-Website Produktverkaufsdaten analysieren und Werbung für einen reduzierten Artikel stoppen, sobald der Umsatz ein Limit erreicht.
-
Historische Analysen — Nutzen Sie die journalorientierte Architektur von Amazon, QLDB indem Sie historische Ereignisdaten wiedergeben. Sie können festlegen, dass ein QLDB Stream zu einem beliebigen Zeitpunkt in der Vergangenheit gestartet werden soll, wobei alle Änderungen seit diesem Zeitpunkt an Kinesis Data Streams übermittelt werden. Mit dieser Funktion können Sie Kinesis-Anwendungen für Privatanwender erstellen, die Analyseaufträge mit historischen Daten ausführen. Beispielsweise kann eine E-Commerce-Website nach Bedarf Analysen durchführen, um vergangene Verkaufszahlen zu generieren, die zuvor nicht erfasst wurden.
-
Replikation in speziell entwickelte Datenbanken — Connect QLDB Ledger mithilfe von Journal-Streams mit anderen speziell entwickelten Datenspeichern. QLDB Verwenden Sie beispielsweise die Kinesis-Streaming-Datenplattform für die Integration mit Amazon OpenSearch Service, das Volltextsuchfunktionen für QLDB Dokumente bereitstellen kann. Sie können auch benutzerdefinierte Kinesis-Anwendungen für Privatanwender erstellen, um Ihre Journaldaten in andere speziell entwickelte Datenbanken zu replizieren, die unterschiedliche materialisierte Ansichten bieten. Replizieren Sie beispielsweise auf Amazon Aurora für relationale Daten oder auf Amazon Neptune für grafenbasierte Daten.
Nutzen Ihres Streams
Verwenden Sie Kinesis Data Streams, um kontinuierlich große Datenströme zu nutzen, zu verarbeiten und zu analysieren. Neben Kinesis Data Streams umfasst die Kinesis-Streaming-Datenplattform Amazon Data Firehose und Amazon Managed Service für Apache Flink. Sie können diese Plattform verwenden, um Datensätze direkt an Dienste wie Amazon OpenSearch Service, Amazon Redshift, Amazon S3 oder Splunk zu senden. Weitere Informationen finden Sie unter Kinesis Data Streams-Konsumenten im Amazon Kinesis Data Streams Developer Guide.
Sie können auch die Kinesis Client Library (KCL) verwenden, um eine Stream-Consumer-Anwendung zur benutzerdefinierten Verarbeitung von Datensätzen zu erstellen. Das KCL vereinfacht die Codierung, indem es nützliche Abstraktionen über den Kinesis Data Streams auf niedriger Ebene bereitstellt. API Weitere Informationen zu finden Sie unter KCL Using the Kinesis Client Library im Amazon Kinesis Data Streams Developer Guide.
Liefergarantie
QLDBStreams bieten eine at-least-onceLiefergarantie. Jeder Datensatz, der von einem QLDB Stream erzeugt wird, wird mindestens einmal an Kinesis Data Streams geliefert. Dieselben Datensätze können mehrfach in einem Kinesis-Datenstrom vorkommen. Es muss also eine Deduplizierungslogik in der Verbraucheranwendungsebene vorhanden sein, wenn Ihr Anwendungsfall dies erfordert.
Es gibt auch keine Bestellgarantien. Unter bestimmten Umständen können QLDB Blöcke und Revisionen in einem Kinesis-Datenstrom nicht in der richtigen Reihenfolge erzeugt werden. Weitere Informationen finden Sie unter Umgang mit Duplikaten und Datensätzen out-of-order.
Überlegungen zur Lieferlatenz
QLDBStreams liefern Updates für Kinesis Data Streams in der Regel nahezu in Echtzeit. Die folgenden Szenarien können jedoch zu zusätzlicher Latenz führen, bevor neu festgeschriebene QLDB Daten an einen Kinesis-Datenstrom ausgegeben werden:
-
Kinesis kann Daten, von denen gestreamt wirdQLDB, abhängig von Ihrer Kinesis Data Streams Streams-Bereitstellung drosseln. Dies kann beispielsweise der Fall sein, wenn Sie mehrere QLDB Streams haben, die in einen einzigen Kinesis-Datenstream schreiben, und die Anforderungsrate von die Kapazität der Kinesis-Stream-Ressource QLDB überschreitet. Eine Drosselung in Kinesis kann auch auftreten, wenn On-Demand-Provisioning verwendet wird, wenn der Durchsatz in weniger als 15 Minuten auf mehr als das Doppelte des vorherigen Spitzenwerts ansteigt.
Sie können diesen überhöhten Durchsatz messen, indem Sie die
WriteProvisionedThroughputExceeded
Kinesis-Metrik überwachen. Weitere Informationen und mögliche Lösungen finden Sie unter Wie behebe ich Drosselungsfehler in KinesisData Streams? . -
Mit QLDB Streams können Sie einen unbestimmten Stream erstellen, dessen Startdatum und -uhrzeit in der Vergangenheit liegen und ohne Enddatum und -uhrzeit. Standardmäßig werden neu QLDB festgeschriebene Daten erst dann an Kinesis Data Streams gesendet, wenn alle vorherigen Daten ab dem angegebenen Startdatum und der angegebenen Startzeit erfolgreich übermittelt wurden. Wenn Sie in diesem Szenario eine zusätzliche Latenz wahrnehmen, müssen Sie möglicherweise warten, bis die vorherigen Daten geliefert wurden, oder Sie können den Stream an einem späteren Startdatum und einer späteren Startzeit starten.
Erste Schritte mit Streams
Im Folgenden finden Sie einen allgemeinen Überblick über die Schritte, die erforderlich sind, um mit dem Streaming von Journaldaten nach Kinesis Data Streams zu beginnen:
-
Erstellen Sie eine Kinesis Data Streams Streams-Ressource. Anweisungen finden Sie unter Erstellen und Aktualisieren von Datenströmen im Amazon Kinesis Data Streams Developer Guide.
-
Erstellen Sie eine IAM Rolle, die es QLDB ermöglicht, Schreibberechtigungen für den Kinesis-Datenstream zu übernehmen. Anweisungen finden Sie unter Stream-Berechtigungen in QLDB.
-
Erstellen Sie einen QLDB-Journal-Stream. Anweisungen finden Sie unter Erstellen und Verwalten von Streams in QLDB.
-
Verbrauchen Sie den Kinesis-Datenstrom, wie im vorherigen Abschnitt Nutzen Ihres Streams beschrieben. Codebeispiele zur Verwendung der Kinesis Client Library oder finden Sie AWS Lambda unterEntwickeln mit Streams in QLDB.