Versionen von globalen DynamoDB-Tabellen - 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.

Versionen von globalen DynamoDB-Tabellen

Es gibt zwei Versionen von globalen DynamoDB-Tabellen: Version 2019.11.21 (Aktuell) und Version 2017.11.29 (Legacy). Wir empfehlen für globale Tabellen die Verwendung der Version 2019.11.21 (Aktuell), da sie einfacher zu verwenden ist, in mehr Regionen unterstützt wird und für die meisten Workloads kostengünstiger ist als Version 2017.11.29 (Legacy).

Ermitteln der Version einer globalen Tabelle

Ermitteln der Version mit dem AWS CLI

Identifizieren des Replikats einer globalen Tabelle der Version 2019.11.21 (Aktuell)

Rufen Sie den Befehl describe-table auf, um festzustellen, ob es sich bei einer Tabelle um ein Replikat von Version 2019.11.21 (Aktuell) handelt. Wenn die Ausgabe das GlobalTableVersion-Attribut mit dem Wert „2019.11.21“ enthält, handelt es sich bei der Tabelle um das Replikat einer globalen Tabelle der Version 2019.11.21 (Aktuell).

Beispiel eines CLI-Befehls für describe-table:

aws dynamodb describe-table \ --table-name users \ --region us-east-2

Wenn die (verkürzte) Ausgabe das GlobalTableVersion-Attribut mit dem Wert „2019.11.21“ enthält, handelt es sich bei der Tabelle um das Replikat einer globalen Tabelle der Version 2019.11.21 (Aktuell).

{ "Table": { "AttributeDefinitions": [ { "AttributeName": "id", "AttributeType": "S" }, { "AttributeName": "name", "AttributeType": "S" } ], "TableName": "users", ... "GlobalTableVersion": "2019.11.21", "Replicas": [ { "RegionName": "us-west-2", "ReplicaStatus": "ACTIVE", } ], ... } }

Identifizieren des Replikats einer globalen Tabelle der Version 2017.11.29 (Legacy)

Die Version 2017.11.29 (Legacy) verwendet einen speziellen Befehlssatz für die Verwaltung der globalen Tabelle. Rufen Sie den Befehl describe-global-table auf, um festzustellen, ob es sich bei einer Tabelle um ein Replikat von Version 2017.11.29 (Legacy) handelt. Wenn Sie eine erfolgreiche Antwort erhalten, handelt es sich bei der globalen Tabelle um ein Replikat der Version 2017.11.29 (Legacy). Wenn der Befehl describe-global-table den Fehler GlobalTableNotFoundException zurückgibt, handelt es sich bei der Tabelle nicht um ein Replikat der Version 2017.11.29 (Legacy).

Beispiel eines CLI-Befehls für describe-global-table:

aws dynamodb describe-global-table \ --table-name users \ --region us-east-2

Wenn der Befehl eine erfolgreiche Antwort zurückgibt, handelt es sich bei der globalen Tabelle um ein Replikat der Version 2017.11.29 (Legacy).

{ "GlobalTableDescription": { "ReplicationGroup": [ { "RegionName": "us-west-2" }, { "RegionName": "us-east-2" } ], "GlobalTableArn": "arn:aws:dynamodb::123456789012:global-table/users", "CreationDateTime": "2025-06-10T13:55:53.630000-04:00", "GlobalTableStatus": "ACTIVE", "GlobalTableName": "users" } }

Ermitteln der Version mithilfe der DynamoDB-Konsole

Gehen Sie wie folgt vor, um die Version des Replikats einer globalen Tabelle zu ermitteln:

  1. Öffnen Sie die DynamoDB-Konsole zu Hausehttps://console.aws.amazon.com/dynamodb/.

  2. Klicken Sie im Navigationsbereich auf der linken Seite der Konsole auf Tabellen.

  3. Wählen Sie die globale Tabelle aus, deren Version Sie ermitteln möchten.

  4. Wählen Sie die Registerkarte Globale Tabellen aus.

    Im Abschnitt Zusammenfassung wird die Version der verwendeten globalen Tabellen angezeigt.

Unterschiede im Verhalten zwischen der Legacy- und der aktuellen Version

In der folgenden Liste werden die Verhaltensunterschiede zwischen der Legacy-Version und der aktuellen Version globaler Tabellen beschrieben.

  • Version 2019.11.21 (Aktuell) verbraucht im Vergleich zu Version 2017.11.29 (Legacy) bei mehreren Operationen in DynamoDB-Datenbanken weniger Schreibkapazität und ist daher für die meisten Kunden kostengünstiger. Die Unterschiede in Bezug auf DynamoDB-Operationen im Einzelnen:

    • Das Aufrufen PutItemeines 1-KB-Elements in einer Region und das Replizieren in andere Regionen erfordert 2 r WRUs pro Region für 2017.11.29 (Legacy), aber nur 1 RWRU für 2019.11.21 (Aktuell).

    • UpdateItemZum Aufrufen eines 1-KB-Elements sind 2 r WRUs in der Quellregion und 1 RWRU pro Zielregion für 2017.11.29 (Legacy) erforderlich, aber nur 1 RWRU für Quell- und Zielregion für 2019.11.21 (Aktuell).

    • Der Aufruf DeleteItemfür ein 1-KB-Element erfordert 1 RWRU in der Quellregion und 2 r WRUs pro Zielregion für 2017.11.29 (Legacy), aber nur 1 RWRU sowohl für die Quell- als auch für die Zielregion für 2019.11.21 (Aktuell).

    Die folgende Tabelle zeigt den rWRU-Verbrauch der Tabellen-Versionen 2017.11.29 (Legacy) und 2019.11.21 (Aktuell) für ein 1 KB großes Element in zwei Regionen.

    Operation 2017.11.29 (Legacy) 2019.11.21 (Aktuell) Einsparungen
    PutItem 4 r WRUs 2 oder WRUs 50 %
    UpdateItem 3 oder WRUs 2 oder WRUs 33%
    DeleteItem 3 r WRUs 2 oder WRUs 33%
  • Version 2017.11.29 (Legacy) ist nur in Version 11 verfügbar. AWS-Regionen Version 2019.11.21 (Aktuell) hingegen ist in allen AWS-Regionen verfügbar.

  • Sie erstellen globale Tabellen der Version 2017.11.29 (Legacy), indem Sie zuerst einen Satz leerer Regionaltabellen erstellen und dann die API aufrufen, um die CreateGlobalTableglobale Tabelle zu bilden. Sie erstellen globale Tabellen der Version 2019.11.21 (aktuell), indem Sie die UpdateTableAPI aufrufen, um einer vorhandenen Regionaltabelle ein Replikat hinzuzufügen.

  • Version 2017.11.29 (Legacy) erfordert, dass Sie alle Replikate in der Tabelle leeren, bevor Sie einer neuen Region (auch während ihrer Erstellung) ein Replikat hinzufügen. Version 2019.11.21 (Aktuell) unterstützt Sie beim Hinzufügen und Entfernen von Replikaten zu Regionen in einer Tabelle, die bereits Daten enthält.

  • Version 2017.11.29 (Legacy) verwendet die folgenden speziellen Steuerungsebenen für die Verwaltung von Replikaten: APIs

    Version 2019.11.21 (Aktuell) verwendet das und zur Verwaltung von Replikaten. DescribeTableUpdateTable APIs

  • In Version 2017.11.29 (Legacy) werden zwei DynamoDB-Streams-Datensätze für jeden Schreibvorgang veröffentlicht. In Version 2019.11.21 (Aktuell) wird nur ein DynamoDB-Streams-Datensatz für jeden Schreibvorgang veröffentlicht.

  • In Version 2017.11.29 (Legacy) werden die Attribute aws:rep:deleting, aws:rep:updateregion und aws:rep:updatetime gefüllt und aktualisiert. In Version 2019.11.21 (Aktuell) werden dieser Attribute nicht gefüllt und aktualisiert.

  • In Version 2017.11.29 (Legacy) werden die Verwenden von Time to Live (TTL) in DynamoDB-Einstellungen nicht replikatsübergreifend synchronisiert. In Version 2019.11.21 (Aktuell) werden die TTL-Einstellungen replikatsübergreifend synchronisiert.

  • In Version 2017.11.29 (Legacy) werden TTL-Löschvorgänge nicht auf andere Replikate übertragen. In Version 2019.11.21 (Aktuell) werden TTL-Löschvorgänge auf alle Replikate übertragen.

  • In Version 2017.11.29 (Legacy) werden die Auto-Scaling-Einstellungen nicht replikatsübergreifend synchronisiert. In Version 2019.11.21 (Aktuell) werden die Auto-Scaling-Einstellungen replikatsübergreifend aktualisiert.

  • In Version 2017.11.29 (Legacy) werden die Einstellungen für den globalen sekundären Index (GSI) nicht replikatsübergreifend synchronisiert. In Version 2019.11.21 (Aktuell) werden die GSI-Einstellungen replikatsübergreifend synchronisiert.

  • In Version 2017.11.29 (Legacy) werden die Einstellungen für die Verschlüsselung im Ruhezustand nicht replikatsübergreifend synchronisiert. In Version 2019.11.21 (Aktuell) werden die Einstellungen für die Verschlüsselung im Ruhezustand replikatsübergreifend synchronisiert.

  • In Version 2017.11.29 (Legacy) wird die PendingReplicationCount-Metrik veröffentlicht. In Version 2019.11.21 (Aktuell) wird diese Metrik nicht veröffentlicht.

Aktualisieren auf die aktuelle Version

Erforderliche Berechtigungen für die Aktualisierung von globalen Tabellen

Für eine Aktualisierung auf die Version 2019.11.21 (Aktuell) aktualisieren müssen Sie in allen Regionen mit Replikaten über die Berechtigung dynamodb:UpdateGlobalTableversion verfügen. Diese Berechtigungen werden zusätzlich zu den Berechtigungen benötigt, die für den Zugriff auf die DynamoDB-Konsole und die Anzeige von Tabellen erforderlich sind.

Über die folgende IAM-Richtlinie werden Berechtigungen zum Aktualisieren einer globalen Tabelle auf Version 2019.11.21 (Aktuell) erteilt.

{ "version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:UpdateGlobalTableversion", "Resource": "*" } ] }

Über die folgende IAM-Richtlinie wird die Berechtigung erteilt, nur die globale Tabelle Music mit Replikaten in zwei Regionen auf die Version 2019.11.21 (Aktuell) zu aktualisieren.

{ "version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:UpdateGlobalTableversion", "Resource": [ "arn:aws:dynamodb::123456789012:global-table/Music", "arn:aws:dynamodb:ap-southeast-1:123456789012:table/Music", "arn:aws:dynamodb:us-east-2:123456789012:table/Music" ] } ] }

Informationen Fakten zum Ablauf der Aktualisierung

  • Während der Aktualisierung wird in allen Replikaten globaler Tabellen die Verarbeitung des Lese- und Schreibdatenverkehr fortgesetzt.

  • Die Aktualisierung dauert je nach Tabellengröße und Anzahl der Replikate zwischen einigen Minuten und mehreren Stunden.

  • Während des Upgrade-Vorgangs ändert sich der Wert von von TableStatusauf. ACTIVE UPDATING Sie können den Status der Tabelle anzeigen, indem Sie die DescribeTableAPI aufrufen oder die Tabellenansicht in der DynamoDB-Konsole verwenden.

  • Die Einstellungen für die bereitgestellte Kapazität für eine globale Tabelle werden während der Aktualisierung vom Auto-Scaling-Prozess nicht angepasst. Es wird dringend empfohlen, während der Aktualisierung der Tabelle den Modus On-Demand-Kapazität zu verwenden.

  • Wenn Sie sich bei der Aktualisierung für den Modus bereitgestellter Kapazität mit Auto Scaling entscheiden, müssen Sie in Ihren Richtlinien den minimalen Lese- und Schreibdurchsatz erhöhen, um dem erwarteten Anstieg des Datenverkehrs während der Dauer der Aktualisierung Rechnung zu tragen.

  • Es kann vorkommen, dass die Metrik ReplicationLatency vorübergehend Latenzspitzen meldet oder dass die Meldung von Metrikdaten während der Aktualisierung ganz ausbleibt. Weitere Informationen finden Sie unter ReplicationLatency.

  • Sobald der Aktualisierungsvorgang abgeschlossen ist, wird der Status der Tabelle zurück zu ACTIVE.

Verhalten von DynamoDB Streams vor, während und nach der Aktualisierung

Operation Replikatregion Verhalten vor der Aktualisierung Verhalten während der Aktualisierung Verhalten nach der Aktualisierung

Put oder Update

Quelle

Das Auffüllen von Zeitstempeln erfolgt mithilfe von. UpdateItem Die Population mit Zeitstempeln erfolgt unter Verwendung von. PutItem Es wird kein für den Kunden sichtbarer Zeitstempel generiert.
Es werden zwei Streams-Datensätze generiert. Der erste Datensatz enthält die vom Kunden geschriebenen Attribute. Der zweite Datensatz enthält die aws:rep:*-Attribute. Es werden zwei Streams-Datensätze generiert. Der erste Datensatz enthält die vom Kunden geschriebenen Attribute. Der zweite Datensatz enthält die aws:rep:*-Attribute. Es wird ein einziger Streams-Datensatz generiert, der die vom Kunden geschriebenen Attribute enthält.
Für jeden Schreibvorgang durch den Kunden WCUs werden zwei R verbraucht. Für jeden Schreibvorgang durch den Kunden WCUs werden zwei R verbraucht. Für jeden Schreibvorgang durch den Kunden wird eine rWCU verbraucht.
ReplicationLatencyund PendingReplicationCount Metriken werden in veröffentlicht CloudWatch. ReplicationLatencyund PendingReplicationCount Metriken werden in veröffentlicht CloudWatch. ReplicationLatencyDie Metrik ist veröffentlicht in CloudWatch.

Ziel

Die Replikation erfolgt mit PutItem. Die Replikation erfolgt unter Verwendung von PutItem. Die Replikation erfolgt unter Verwendung von PutItem.
Es wird ein einzelner Streams-Datensatz generiert, der sowohl die vom Kunden geschriebenen Attribute als auch die aws:rep:*-Attribute enthält. Es wird ein einzelner Streams-Datensatz generiert, der sowohl die vom Kunden geschriebenen Attribute als auch die aws:rep:*-Attribute enthält. Es wird ein einzelner Streams-Datensatz generiert, der nur die vom Kunden geschriebenen Attribute und keine Replikationsattribute enthält.
Es wird eine rWCU verbraucht, wenn das Element in der Zielregion existiert. Zwei R WCUs werden verbraucht, wenn der Artikel in der Zielregion nicht existiert. Es wird eine rWCU verbraucht, wenn das Element in der Zielregion existiert. Zwei R WCUs werden verbraucht, wenn der Artikel in der Zielregion nicht existiert. Für jeden Schreibvorgang durch den Kunden wird eine rWCU verbraucht.
ReplicationLatencyund PendingReplicationCount Metriken werden in veröffentlicht CloudWatch. ReplicationLatencyund PendingReplicationCount Metriken werden in veröffentlicht CloudWatch. ReplicationLatencyDie Metrik ist veröffentlicht in CloudWatch.

Löschen

Quelle

Löschen Sie alle Elemente mit kleinerem Zeitstempel mithilfe von DeleteItem. Löschen Sie alle Elemente mit kleinerem Zeitstempel mithilfe von. DeleteItem Löschen Sie alle Elemente mit kleinerem Zeitstempel mithilfe von. DeleteItem
Es wird ein einzelner Streams-Datensatz generiert, der sowohl die vom Kunden geschriebenen Attribute als auch die aws:rep:*-Attribute enthält. Es wird ein einzelner Streams-Datensatz generiert, der sowohl die vom Kunden geschriebenen Attribute als auch die aws:rep:*-Attribute enthält. Es wird ein einzelner Streams-Datensatz generiert, der die vom Kunden geschriebenen Attribute enthält.
Für jeden Löschvorgang durch den Kunden wird eine rWCU verbraucht. Für jeden Löschvorgang durch den Kunden wird eine rWCU verbraucht. Für jeden Löschvorgang durch den Kunden wird eine rWCU verbraucht.
ReplicationLatencyund PendingReplicationCount Metriken werden in CloudWatch veröffentlicht. ReplicationLatencyund PendingReplicationCount Metriken werden in veröffentlicht CloudWatch. ReplicationLatencyDie Metrik ist veröffentlicht in CloudWatch.

Ziel

Ein Löschvorgang findet in zwei Phasen statt:

  • In Phase 1 wird UpdateItem das Löschkennzeichen gesetzt.

  • DeleteItem Löscht in Phase 2 das Element.

Löscht das Element mit. DeleteItem Löscht das Element mit. DeleteItem
Es werden zwei Streams-Datensätze generiert. Der erste Datensatz enthält die am aws:rep:deleting-Feld vorgenommene Änderung. Der zweite Datensatz enthält die vom Kunden geschriebenen Attribute und die aws:rep:*-Attribute. Es wird ein einzelner Stream-Datensatz generiert, der die vom Kunden geschriebenen Attribute enthält. Es wird ein einzelner Stream-Datensatz generiert, der die vom Kunden geschriebenen Attribute enthält.
Für jeden gelöschten Kunden WCUs werden zwei R verbraucht. Für jeden Löschvorgang durch den Kunden wird eine rWCU verbraucht. Für jeden Löschvorgang durch den Kunden wird eine rWCU verbraucht.
ReplicationLatencyund PendingReplicationCount Metriken werden in veröffentlicht CloudWatch. ReplicationLatencyDie Metrik ist veröffentlicht in CloudWatch. ReplicationLatencyDie Metrik ist veröffentlicht in CloudWatch.

Aktualisieren auf Version 2019.11.21 (Aktuell)

Führen Sie die folgenden Schritte aus, um Ihre Version für globale DynamoDB-Tabellen mithilfe der AWS-Managementkonsole zu aktualisieren.

So aktualisieren globale Tabellen auf Version 2019.11.21 (Aktuell)
  1. Öffnen Sie die DynamoDB-Konsole zu Hausehttps://console.aws.amazon.com/dynamodb/.

  2. Wählen Sie im Navigationsbereich auf der linken Seite der Konsole die Option Tabellen und dann die globale Tabelle aus, die Sie auf Version 2019.11.21 (Aktuell) aktualisieren möchten.

  3. Wählen Sie die Registerkarte Globale Tabellen aus.

  4. Wählen Sie Update version (Version aktualisieren) aus.

    Screenshot der Konsole mit der Schaltfläche „Update version“ (Version aktualisieren)
  5. Lesen Sie sich die neuen Anforderungen durch und stimmen Sie ihnen zu, wählen Sie dann Update version Version aktualisieren.

  6. Nach Abschluss des Aktualisierungsvorgangs wird die in der Konsole angezeigte Version für globale Tabellen in 2019.11.21 geändert.