Lesekonsistenz - Amazon-DynamoDB

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.

Lesekonsistenz

Amazon DynamoDB liest Daten aus Tabellen, lokalen sekundären Indizes (LSIs), globalen sekundären Indizes (GSIs) und Streams. Weitere Informationen finden Sie unter Kernkomponenten von Amazon DynamoDB. Sowohl Tabellen als auch LSIs bieten zwei Optionen für die Lesekonsistenz: letztendlich konsistente Lesevorgänge (Standard) und strikt konsistente Lesevorgänge. Alle Lesevorgänge von GSIs und Streams sind letztendlich konsistent.

Wenn Ihre Anwendung Daten in eine DynamoDB-Tabelle schreibt und eine HTTP-200-Antwort (OK) empfängt, bedeutet dies, dass der Schreibvorgang erfolgreich abgeschlossen wurde und dauerhaft persistent ist. DynamoDB stellt die Isolationsstufe read-committed bereit und stellt sicher, dass Lesevorgänge immer mit Commit gespeicherte Werte für ein Element zurückgeben. Beim Lesevorgang wird niemals eine Ansicht des Elements aus einem Schreibvorgang angezeigt, der nicht letztendlich erfolgreich war. Die Isolation "Read-committed" verhindert keine Änderungen am Element direkt nach dem Lesevorgang.

Eventually Consistent Reads

Letztendlich konsistent ist das standardmäßige Konsistenzmodell für alle Lesevorgänge. Wenn letztendlich konsistente Lesevorgänge an eine DynamoDB-Tabelle oder einen Index ausgegeben werden, geben die Antworten möglicherweise nicht die Ergebnisse eines kürzlich abgeschlossenen Schreibvorgangs wider. Wenn Sie die Leseanforderung nach kurzer Zeit wiederholen, sollte in der Antwort letztendlich das neueste Element enthalten sein. Letztendlich konsistente Lesevorgänge werden für Tabellen, lokale sekundäre Indizes und globale sekundäre Indizes unterstützt. Beachten Sie außerdem, dass alle Lesevorgänge aus einem DynamoDB-Stream ebenfalls letztendlich konsistent sind.

Letztendlich konsistente Lesevorgänge kosten nur halb so viel wie strikt konsistente Lesevorgänge. Weitere Informationen finden Sie unter Amazon DynamoDB – Preise.

Strongly Consistent-Lesevorgänge

Lesevorgänge wie beispielsweise GetItem, Query und Scan stellen einen ConsistentRead-Parameter bereit. Wenn Sie ConsistentRead auf true setzen, gibt DynamoDB eine Antwort mit den meisten up-to-date Daten zurück, die die Aktualisierungen aller vorherigen Schreibvorgänge widerspiegelt, die erfolgreich waren. Strikt konsistente Lesevorgänge werden nur für Tabellen und lokale sekundäre Indizes unterstützt. Strikt konsistente Lesevorgänge aus einem globalen sekundären Index oder einem DynamoDB-Stream werden nicht unterstützt.

Lesekonsistenz in globalen Tabellen

DynamoDB unterstützt auch globale Tabellen für die multiaktive und multiregionale Replikation. Eine globale Tabelle besteht aus mehreren Replikattabellen in verschiedenen Regionen. AWS Alle Änderungen an einem Element einer Replikattabelle werden, in der Regel innerhalb einer Sekunde, auf alle anderen Replikate innerhalb derselben globalen Tabelle repliziert und sind letztendlich konsistent. Weitere Informationen finden Sie unter Konsistenz und Konfliktlösung.