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.
Häufig gestellte Fragen zu globalen Tabellen
In diesem Abschnitt finden Sie Antworten auf häufig gestellte Fragen zu globalen DynamoDB-Tabellen.
Wie hoch sind die Preise für globale Tabellen?
-
Ein Schreibvorgang in einer herkömmlichen DynamoDB-Tabelle wird in Schreibkapazitätseinheiten (WCUs) für bereitgestellte Tabellen oder in Schreibanforderungseinheiten (WRUs) für On-Demand-Tabellen berechnet. Beim Schreiben eines 5-KB-Elements fällt eine Gebühr von 5 Einheiten an. Ein Schreibvorgang in eine globale Tabelle wird in replizierten Schreibkapazitätseinheiten (rWCUs) für bereitgestellte Tabellen oder in replizierten Schreibanforderungseinheiten (rWRUs) für On-Demand-Tabellen berechnet. r WCUs und r WRUs haben den gleichen Preis wie und. WCUs WRUs
-
RWCu- und RWRU-Gebühren fallen in jeder Region an, in der der Artikel direkt oder durch Replikation geschrieben wird.
-
Es fallen Gebühren für regionsübergreifende Datenübertragungen an.
-
Wenn in einen globalen sekundären Index (GSI) geschrieben wird, gilt dies als lokaler Schreibvorgang und es werden reguläre Schreibeinheiten verwendet.
-
Derzeit ist keine reservierte Kapazität für r WCUs oder r WRUs verfügbar. Für Tabellen, die Schreibeinheiten GSIs verbrauchen, WCUs kann es dennoch von Vorteil sein, reservierte Kapazität für zu erwerben.
-
Wenn Sie einer globalen Tabelle eine neue Region hinzufügen, bootstrapt DynamoDB die neue Region automatisch und stellt sie Ihnen in Rechnung, als ob es sich um eine Tabellenwiederherstellung handeln würde, basierend auf der GB-Größe der Tabelle. Es fallen auch Gebühren für regionsübergreifende Datenübertragungen an.
Welche Regionen werden von globalen Tabellen unterstützt?
Globale Tabellen (aktuell, Version 2019) unterstützen alle AWS-Regionen MREC-Tabellen und die folgenden Regionsgruppen für MRSC-Tabellen:
-
US-Regionalgruppe: USA Ost (Nord-Virginia), USA Ost (Ohio), USA West (Oregon)
-
EU-Regionalgruppe: Europa (Irland), Europa (London), Europa (Paris), Europa (Frankfurt)
-
AP-Region: Asien-Pazifik (Tokio), Asien-Pazifik (Seoul) und Asien-Pazifik (Osaka)
Wie GSIs wird mit globalen Tabellen umgegangen?
Wenn Sie in globalen Tabellen (aktuell, Version 2019) eine GSI in einer Region erstellen, wird sie automatisch auch in anderen teilnehmenden Regionen erstellt und automatisch ausgefüllt.
Wie stoppe ich die Replikation einer globalen Tabelle?
-
Sie können eine Replikattabelle genauso löschen, wie Sie jede andere Tabelle löschen würden. Wenn Sie die globale Tabelle löschen, wird die Replikation in die betreffende Region beendet und die in dieser Region gespeicherte Tabellenkopie wird gelöscht. Sie können die Replikation jedoch nicht stoppen, solange Sie Kopien der Tabelle als unabhängige Entitäten behalten, und Sie können die Replikation auch nicht unterbrechen.
-
Eine MRSC-Tabelle muss in genau drei Regionen bereitgestellt werden. Um die Replikate zu löschen, müssen Sie alle Replikate und den Zeugen löschen, sodass die MRSC-Tabelle zu einer lokalen Tabelle wird.
Wie interagiert Amazon DynamoDB Streams mit globalen Tabellen?
-
Jede globale Tabelle erzeugt einen unabhängigen Stream, der auf allen ihren Schreibvorgängen basiert, unabhängig davon, wo diese gestartet wurden. Sie können wählen, ob Sie den DynamoDB-Stream in einer Region oder in allen Regionen (unabhängig voneinander) nutzen möchten. Wenn Sie lokale Schreibvorgänge, aber keine replizierten Schreibvorgänge verarbeiten möchten, können Sie jedem Element Ihr eigenes Regionsattribut hinzufügen, um die schreibende Region zu identifizieren. Sie können dann einen AWS Lambda Ereignisfilter verwenden, um die Lambda-Funktion nur für Schreibvorgänge in der lokalen Region aufzurufen. Dies ist bei Einfügungen und Aktualisierungen hilfreich, aber nicht bei Löschvorgängen.
-
Globale Tabellen, die für Multi-Region Eventual Consistency (MREC-Tabellen) konfiguriert sind, replizieren Änderungen, indem sie diese Änderungen aus einem DynamoDB-Stream in einer Replikattabelle lesen und diese Änderung auf alle anderen Replikattabellen anwenden. Daher ist DynamoDB Streams standardmäßig für alle Replikate in einer globalen MREC-Tabelle aktiviert und kann auf diesen Replikaten nicht deaktiviert werden. Der MREC-Replikationsprozess kann mehrere Änderungen in einem kurzen Zeitraum zu einem einzigen replizierten Schreibvorgang kombinieren. Daher kann der Stream jedes Replikats leicht unterschiedliche Datensätze enthalten. DynamoDB Streams Streams-Datensätze auf MREC-Replikaten werden immer pro Element sortiert, aber die Reihenfolge zwischen den Elementen kann sich zwischen den Replikaten unterscheiden.
-
Globale Tabellen, die für Multi-Region Strong Consistency (MRSC-Tabellen) konfiguriert sind, verwenden keine DynamoDB Streams für die Replikation, sodass diese Funktion für MRSC-Replikate standardmäßig nicht aktiviert ist. Sie können DynamoDB Streams auf einem MRSC-Replikat aktivieren. DynamoDB Streams Streams-Datensätze auf MRSC-Replikaten sind für jedes Replikat identisch und werden immer pro Element sortiert, aber die Reihenfolge zwischen den Elementen kann sich zwischen den Replikaten unterscheiden.
Wie werden Transaktionen in globalen Tabellen gehandhabt?
-
Transaktionsvorgänge mit MRSC-Tabellen führen zu Fehlern.
-
Transaktionsoperationen auf MREC-Tabellen bieten nur innerhalb der Region, in der der Schreibvorgang ursprünglich stattgefunden hat, Garantien für Atomarität, Konsistenz, Isolation und Haltbarkeit (ACID). Regionsübergreifende Transaktionen werden in globalen Tabellen nicht unterstützt. Wenn Sie beispielsweise über eine globale MREC-Tabelle mit Replikaten in den Regionen USA Ost (Ohio) und USA West (Oregon) verfügen und einen
TransactWriteItems
Vorgang in der Region USA Ost (Ohio) ausführen, können Sie beobachten, dass bei der Replikation der Änderungen teilweise abgeschlossene Transaktionen in der Region USA West (Oregon) durchgeführt werden. Die Änderungen werden erst dann in die anderen Regionen repliziert, nachdem sie in der Quellregion in die Datenbank eingetragen wurden.
Wie interagieren globale Tabellen mit dem Cache von DynamoDB Accelerator (DAX)?
Globale Tabellen umgehen DAX, indem sie DynamoDB direkt aktualisieren. DAX ist daher nicht bewusst, dass er veraltete Daten enthält. Der DAX-Cache wird erst aktualisiert, wenn die TTL des Caches abläuft.
Werden Tags auf Tabellen weitergegeben?
Nein, Tags werden nicht automatisch weitergegeben.
Sollte ich Tabellen in allen Regionen sichern oder nur in einer?
Die Antwort hängt davon ab, zu welchem Zweck Sie die Sicherung erstellen.
-
Wenn Sie die Beständigkeit Ihrer Daten sicherstellen möchten, bietet DynamoDB diesen Schutz bereits. Der Service gewährleistet Datenbeständigkeit.
-
Wenn Sie einen Snapshot für historische Aufzeichnungen aufbewahren möchten (beispielsweise um regulatorische Anforderungen zu erfüllen), sollte eine Sicherung in einer Region ausreichen. Sie können die Sicherung mithilfe von AWS Backup in weitere Regionen kopieren.
-
Wenn Sie irrtümlich gelöschte oder geänderte Daten wiederherstellen möchten, verwenden Sie DynamoDB point-in-time Recovery (PITR) in einer Region.
Wie stelle ich globale Tabellen bereit, indem ich? AWS CloudFormation
-
CloudFormation stellt eine DynamoDB-Tabelle und eine globale Tabelle als zwei separate Ressourcen dar:
AWS::DynamoDB::Table
und.AWS::DynamoDB::GlobalTable
Ein Ansatz besteht darin, alle Tabellen, die potenziell global sein können, mithilfe desGlobalTable
-Konstrukts zu erstellen, sie zunächst als eigenständige Tabellen beizubehalten und später, falls erforderlich, Regionen hinzuzufügen. -
CloudFormationIn wird jede globale Tabelle unabhängig von der Anzahl der Replikate von einem einzelnen Stack in einer einzigen Region gesteuert. Wenn Sie Ihre Vorlage bereitstellen, werden alle Replikate als Teil eines einzigen Stack-Vorgangs CloudFormation erstellt und aktualisiert. Sie sollten nicht dieselbe AWS::DynamoDB::GlobalTable-Ressource in mehreren Regionen bereitstellen. Dies führt zu Fehlern und wird nicht unterstützt. Wenn Sie Ihre Anwendungsvorlage in mehreren Regionen bereitstellen, können Sie Bedingungen verwenden, um die
AWS::DynamoDB::GlobalTable
-Ressource in einer einzigen Region zu erstellen. Alternativ können Sie IhreAWS::DynamoDB::GlobalTable
-Ressourcen in einem von Ihrem Anwendungs-Stack getrennten Stack definieren und sicherstellen, dass er in einer einzigen Region bereitgestellt wird. -
Wenn Sie eine reguläre Tabelle haben und diese in eine globale Tabelle konvertieren und gleichzeitig verwalten möchten, gehen Sie wie folgt vor CloudFormation: Stellen Sie die Löschrichtlinie auf ein
Retain
, entfernen Sie die Tabelle aus dem Stapel, konvertieren Sie die Tabelle in eine globale Tabelle in der Konsole und importieren Sie dann die globale Tabelle als neue Ressource in den Stack. Weitere Informationen finden Sie im AWS GitHub Repository amazon-dynamodb-table-to- global-table-cdk. -
Die kontoübergreifende Replikation wird zu diesem Zeitpunkt nicht unterstützt.