

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.

# Datenerfassungsstreams ändern (Vorschau)
<a name="cdc-streams"></a>

**Wichtig**  
Diese Funktion wird als AWS Vorversion bereitgestellt und kann sich ändern. Weitere Informationen finden Sie in Abschnitt 2, Betas und Vorschauen, in den [AWS Servicebedingungen](https://aws.amazon.com/service-terms/). Weitere Informationen zu den Preisen für CDC-Streams finden Sie auf der [Aurora DSQL-Preisseite](https://aws.amazon.com/rds/aurora/dsql/pricing/).  
Vor der allgemeinen Verfügbarkeit werden wir Ihrer Stream-Payload neue Operationstypen (`"op": "u"`für Updates) hinzufügen. Um sicherzustellen, dass Ihre Anwendung diese Änderungen unverändert verarbeitet, behandeln Sie jeden unbekannten `op` Wert als Fehler, indem Sie die Payload übernehmen. `after` Details dazu finden Sie unter [CDC-Datensätze verstehen](cdc-record-format.md).

Amazon Aurora DSQL Change Data Capture (CDC) streamt festgeschriebene Datenbankänderungen nahezu in Echtzeit direkt an Amazon Kinesis Data Streams. Aurora DSQL übermittelt jede festgeschriebene Änderung auf Zeilenebene als strukturierten JSON-Datensatz an einen Kinesis-Datenstream, den Sie konfigurieren.

CDC ist nützlich, wenn Sie:
+ **Synchronisieren nachgelagerter Systeme** — Replizieren Sie Änderungen an einem Suchindex, Cache, Data Warehouse oder Analysesystem ohne Batch-Jobs.
+ **Erstellen Sie ereignisgesteuerte Architekturen** — lösen Sie Workflows, Benachrichtigungen oder Microservice-Aktionen als Reaktion auf Datenbankänderungen aus.
+ **Führen Sie einen Prüfpfad** — Erfassen Sie jede festgeschriebene Änderung zur Einhaltung von Vorschriften, zum Debuggen oder zur historischen Analyse.
+ **Entkoppeln Sie Produzenten von Verbrauchern — Sorgen** Sie dafür, dass sich die Datenbank auf Transaktionen konzentriert, während nachgelagerte Systeme Änderungen in ihrem eigenen Tempo verarbeiten.

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

Aurora DSQL liest festgeschriebene Transaktionen, formatiert jede Zeilenänderung als strukturierten JSON-Datensatz und übermittelt sie an einen von Ihnen konfigurierten Kinesis-Datenstream. CDC erfasst automatisch alle `INSERT` `UPDATE` Benutzertabellen und alle `DELETE` Benutzertabellen im Cluster. Wenden Sie die Filterlogik in Ihren Downstream-Apps an, indem Sie die `source.table` Felder `source.schema` und in jedem CDC-Datensatz verwenden, um sich auf die Tabellen zu konzentrieren oder Ihre App-Anforderungen zu ändern.

CDC-Streams werden vollständig verwaltet. Aurora DSQL verwaltet die gesamte Infrastruktur, die zur Erfassung von Änderungsereignissen erforderlich ist, überwacht den Zustand des Streams und meldet den Status anhand des `GetStream` API-Betriebs und der CloudWatch Metriken.

CDC-Streams verwenden ein Bring-Your-Own-Target-Modell. Sie erstellen und verwalten den Kinesis-Datenstream in Ihrem Konto, und Aurora DSQL übernimmt eine IAM-Rolle, die Sie so konfigurieren, dass sie CDC-Datensätze in Ihrem Namen schreibt. Sie sind für die Kapazitäts-, Verschlüsselungs- und Aufbewahrungseinstellungen des Ziels verantwortlich. Die neuesten unterstützten Ziele finden Sie unter dem `TargetDefinition` Parameter [CreateStream](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_CreateStream.html)in der Amazon Aurora DSQL API-Referenz. Eine vollständige Liste der CDC-Stream-API-Operationen finden Sie in der [Amazon Aurora DSQL API-Referenz](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/CHAP_api_reference.html).

## Themen auf dieser Seite
<a name="cdc-topics-on-page"></a>
+ [Semantik von Bestellung und Lieferung](#cdc-ordering-delivery)
+ [Multi-Region CDC-Stream-Konfiguration](#cdc-multi-region)
+ [Downstream-Verarbeitung von CDC-Datensätzen](#cdc-downstream-processing)

## Verwandte Themen
<a name="cdc-related-topics"></a>
+ [Erste Schritte mit CDC-Streams](cdc-setup.md)
+ [IAM konfigurieren](cdc-iam.md)
+ [CDC-Datensätze verstehen](cdc-record-format.md)
+ [Streams überwachen](cdc-monitoring.md)

## Semantik von Bestellung und Lieferung
<a name="cdc-ordering-delivery"></a>

### Liefergarantien
<a name="cdc-delivery-guarantees"></a>

Aurora DSQL CDC garantiert, dass jede festgeschriebene Änderung das Ziel mindestens einmal erreicht. Aurora DSQL kann einen Datensatz mehr als einmal liefern. Entwerfen Sie Ihre App so, dass sie Duplikate verarbeitet. Sie können ein Duplikat identifizieren, indem Sie die Primärschlüsselwerte miteinander vergleichen `source.ts_ns` — ein Duplikat hat dieselben Werte wie die ursprüngliche Lieferung.

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

CDC-Streams verwenden den `UNORDERED` Modus. In der Praxis kommen die Datensätze in ungefährer Reihenfolge beim Festschreiben an, da Aurora DSQL Änderungen sequentiell liest und veröffentlicht. Aurora DSQL garantiert jedoch keine strikte Reihenfolge. Das heißt:
+ Aurora DSQL kann Datensätze aus verschiedenen Transaktionen in beliebiger Reihenfolge liefern.
+ Datensätze für denselben Primärschlüssel aus verschiedenen Transaktionen können nicht in der Reihenfolge der Commits eingehen.
+ Datensätze aus einer einzelnen Transaktion können sich mit Datensätzen aus anderen Transaktionen verschachteln. Verwenden Sie das `source.txId` Feld, um Datensätze nach Transaktionen zu gruppieren, wenn Ihr Workflow dies erfordert.

Jeder CDC-Datensatz enthält ein `source.ts_ns` Feld, das den Zeitstempel des Transaktions-Commits in Nanosekunden enthält. Verwenden Sie dieses Feld, um die Commit-Reihenfolge auf der Empfangsseite festzulegen.

### Strategien für Verbraucher
<a name="cdc-consumer-strategies"></a>

Da Datensätze in der Reihenfolge, in der sie gespeichert wurden, eingehen und mehrfach erscheinen können, muss Ihre App beide Bedingungen berücksichtigen.

**Wichtig**  
Definieren Sie einen Primärschlüssel für alle Tabellen, die am CDC teilnehmen. Ohne einen Primärschlüssel kann Ihre App keine Datensätze deduplizieren oder Löschungen mit der betroffenen Zeile korrelieren.

**Last-writer-wins (materialisierte Ansichten, Caches)**  
Verfolgen Sie den höchsten `source.ts_ns` Wert pro Primärschlüssel. Verwerfen Sie alle Datensätze, deren Wert `source.ts_ns` kleiner oder gleich dem verfolgten Wert ist. Dadurch werden sowohl Duplikate als auch Datensätze, die nicht in der richtigen Reihenfolge sind, gefiltert, wobei der neueste Status für jeden Schlüssel beibehalten wird. Wenn Sie einen Delete (`op: "d"`) -Befehl verarbeiten, speichern Sie einen Tombstone für den Primärschlüssel, der den `source.ts_ns` Wert beibehält, anstatt den Eintrag zu entfernen. Der Tombstone stellt sicher, dass bei einer Einfügung oder Aktualisierung mit einem früheren Element`source.ts_ns`, das nach dem Löschen eingeht, die Zeile nicht fälschlicherweise wiederhergestellt wird.

**Every-change Verarbeitung (Auditprotokollierung, Erfassung von Ereignissen)**  
Entfernen Sie Duplikate, indem Sie sie `source.ts_ns` zusammen mit den Primärschlüsselwerten vergleichen. Puffern Sie eingehende Datensätze und sortieren Sie `source.ts_ns` sie vor der Verarbeitung nach, um die Reihenfolge der Commits zu rekonstruieren.

## Multi-Region CDC-Stream-Konfiguration
<a name="cdc-multi-region"></a>

Ein CDC-Stream ist eine regionale Ressource. Jeder Stream gehört zu einer einzelnen AWS Region und liefert Änderungen an einem Kinesis-Datenstream in derselben Region. In einem Cluster mit mehreren Regionen erfasst ein CDC-Stream in einer beliebigen Region festgeschriebene Schreibvorgänge aus **allen Regionen** im Cluster. Das bedeutet, dass Sie nur einen Stream benötigen, um jede Änderung zu erfassen, unabhängig davon, woher der Schreibvorgang stammt. Um CDC-Datensätze in mehr als einer Region bereitzustellen, erstellen Sie in jeder Region einen separaten Stream. Jeder Stream erfasst unabhängig den gesamten Satz der festgeschriebenen Änderungen im gesamten Cluster.

Alle Ressourcen — der Aurora DSQL-Cluster, der Kinesis-Datenstream, die IAM-Servicerolle und der aufrufende Principal — müssen sich im selben Konto und in derselben Region befinden. AWS 

## Downstream-Verarbeitung von CDC-Datensätzen
<a name="cdc-downstream-processing"></a>

Nachdem CDC-Datensätze in Ihrem Kinesis-Datenstrom eingegangen sind, können Sie sie direkt verarbeiten oder mithilfe von AWS Integrationsdiensten an andere Ziele weiterleiten. In der folgenden Tabelle sind gängige Verarbeitungsmuster zusammengefasst.


**Allgemeine Verarbeitungsmuster für CDC-Datensätze**  

| Muster | Funktionsweise | 
| --- |--- |
| Direkter Verbrauch | Lesen Sie Datensätze aus Kinesis mithilfe der Amazon Kinesis Client Library (KCL), des AWS SDK oder eines Kinesis Data Streams Streams-Consumer. Weitere Informationen finden Sie unter [Entwickeln von KCL-Verbrauchern](https://docs.aws.amazon.com/streams/latest/dev/shared-throughput-kcl-consumers.html) im Amazon Kinesis Data Streams Developer Guide. | 
| AWS Lambda | Konfigurieren Sie eine Lambda-Funktion als Ereignisquelle für Ihren Kinesis-Datenstrom, um jeden Batch von CDC-Datensätzen zu verarbeiten, sobald er eingeht. Weitere Informationen finden Sie [unter Verwenden von AWS Lambda mit Amazon Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) im AWS Lambda Developer Guide. | 
| Amazon Data Firehose | Senden Sie CDC-Datensätze von Kinesis an Amazon S3, Amazon Redshift, Amazon OpenSearch Service oder andere Ziele zur Analyse und Archivierung. Weitere Informationen finden Sie unter [Senden von Daten an einen Lieferstream](https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) im Amazon Data Firehose Developer Guide. | 
| Self-managed Verbraucher | Führen Sie Apache Kafka Connect mit dem Kinesis Source Connector, Apache Flink oder anderen Frameworks zur Stream-Verarbeitung aus, um Datensätze zu transformieren und weiterzuleiten. Informationen zur Aktivierung von Apache Flink finden Sie unter [Konfiguration der App-Eingabe](https://docs.aws.amazon.com/managed-flink/latest/java/how-it-works-input.html) im Amazon Managed Service for Apache Flink Developer Guide. AWS | 

Jeder CDC-Datensatz enthält Felder wie`source.schema`, und `op` die Sie verwenden können`source.table`, um Datensätze in Ihrer Verarbeitungslogik weiterzuleiten und zu filtern. Das vollständige Datensatzschema finden Sie unter[CDC-Datensätze verstehen](cdc-record-format.md).