Bewährte Methoden und Anforderungen für die Verwaltung globaler 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.

Bewährte Methoden und Anforderungen für die Verwaltung globaler Tabellen

Wichtig

Diese Dokumentation bezieht sich auf globale Tabellen der Version 2017.11.29 (veraltet), die für neue globale Tabellen vermieden werden sollte. Kunden sollten nach Möglichkeit die Version 2019.11.21 (Aktuell) für globale Tabellen verwenden, da sie mehr Flexibilität und höhere Effizienz bietet und weniger Schreibkapazität verbraucht als Version 2017.11.29 (Legacy).

Informationen dazu, welche Version Sie verwenden, finden Sie unter Ermitteln der Version einer globalen Tabelle. Informationen zur Aktualisierung globaler Tabellen von Version 2017.11.29 (veraltet) auf Version 2019.11.21 (aktuell) finden Sie unter Versionen von globalen DynamoDB-Tabellen.

Mithilfe globaler Amazon-DynamoDB-Tabellen können Sie Ihre Tabellendaten über AWS-Regionen replizieren. Es ist wichtig, dass die Replikattabellen und sekundären Indexen in Ihrer globalen Tabelle über identische Schreibkapazitätseinstellungen verfügen, um eine ordnungsgemäße Replikation der Daten sicherzustellen.

Version der globalen Tabellen

Es gibt zwei Versionen von globalen DynamoDB-Tabellen: Version 2019.11.21 (Aktuell) und Version 2017.11.29 (Legacy) der globalen Tabellen. Kunden sollten nach Möglichkeit die Version 2019.11.21 (Aktuell) für globale Tabellen verwenden, da sie mehr Flexibilität und höhere Effizienz bietet und weniger Schreibkapazität verbraucht als Version 2017.11.29 (Legacy).

Informationen dazu, welche Version Sie verwenden, finden Sie unter Ermitteln der Version einer globalen Tabelle. Informationen zur Aktualisierung globaler Tabellen von Version 2017.11.29 (veraltet) auf Version 2019.11.21 (aktuell) finden Sie unter Aktualisieren globaler Tabellen.

Anforderungen für das Hinzufügen einer neuen Replikattabelle

Wenn Sie einer globalen Tabelle eine neue Replikattabelle hinzufügen möchten, müssen die folgenden Bedingungen erfüllt sein:

  • Die Tabelle muss über den gleichen Partitionsschlüssel wie alle anderen Replikate verfügen.

  • Die Tabelle muss über die gleichen Schreibkapazitätsverwaltungseinstellungen verfügen.

  • Die Tabelle muss den gleichen Namen wie alle anderen Replikate aufweisen.

  • Für die Tabelle muss DynamoDB Streams aktiviert sein und der Stream muss sowohl die neuen als auch die alten Abbilder des Elements enthalten.

  • Keine der neuen oder vorhandenen Replikattabellen in der globalen Tabelle darf Daten enthalten.

Wenn globale sekundäre Indxe angegeben werden, müssen auch die folgenden Bedingungen erfüllt sein:

  • Die globalen sekundären Indexe müssen denselben Namen haben.

  • Die globalen sekundären Indexe müssen über denselben Partitionsschlüssel und denselben Sortierschlüssel verfügen (sofern vorhanden).

Wichtig

Die Einstellungen für die Schreibkapazität sollten konsistent für alle Replikattabellen Ihrer globalen Tabellen und übereinstimmenden sekundären Indexen festgelegt werden. Um die Einstellungen für die Schreibkapazität für Ihre globale Tabelle zu aktualisieren, wird dringend empfohlen, die DynamoDB-Konsole oder die UpdateGlobalTableSettings-API-Operation. UpdateGlobalTableSettings wendet Änderungen an, um Kapazitätseinstellungen für alle Replikattabellen und übereinstimmende sekundäre Indizes in einer globalen Tabelle automatisch zu schreiben. Wenn Sie die UpdateTable, RegisterScalableTarget, oder PutScalingPolicy-Operationen verwenden, sollten Sie die Änderung auf jede Replikattabelle und den entsprechenden sekundären Index einzeln anwenden. Weitere Informationen finden Sie unter UpdateGlobalTableSettings in den Amazon-DynamoDB-API-Referenzen.

Wir empfehlen Ihnen, Auto Scaling zu aktivieren, um bereitgestellte Schreibkapazitätseinstellungen zu verwalten. Wenn Sie Schreibkapazitätseinstellungen lieber manuell verwalten möchten, sollten Sie allen Replikattabellen gleich replizierte Schreibkapazitätseinheiten bereitstellen. Stellen Sie auch gleiche replizierte Schreibkapazitätseinheiten für übereinstimmende sekundäre Indizes in Ihrer globalen Tabelle bereit.

Sie müssen über die entsprechenden AWS Identity and Access Management-IAM-Berechtigungen verfügen. Weitere Informationen finden Sie unter Verwenden von IAM mit globalen Tabellen.

Bewährte Methoden und Anfoderungen zum Verwalten der Kapazität

Beachten Sie Folgendes, wenn Sie Kapazitätseinstellungen für Replikattabellen in DynamoDB verwalten.

Auto Scaling von DynamoDB

Die Verwendung der automatischen Skalierung von DynamoDB ist die empfohlene Methode zum Verwalten der Durchsatzkapazität für Replikattabellen, die den bereitgestellten Modus verwenden. DynamoDB-Auto-Scaling passt die Lese- und Schreibkapazitätseinheiten für jede Replikattabelle basierend auf der tatsächlichen Anwendungs-Workload automatisch an. Weitere Informationen finden Sie unter Automatische Verwaltung der Durchsatzkapazität mit DynamoDB-Auto-Scaling.

Wenn Sie Ihre Replikattabellen mit AWS-Managementkonsole erstellen, ist die automatische Skalierung standardmäßig für jede Replikattabelle aktiviert, mit Standardeinstellungen für die automatische Skalierung zum Verwalten von Lesekapazitätseinheiten und Schreibkapazitätseinheiten.

Änderungen an den Einstellungen für die automatische Skalierung für eine Replikattabelle oder einen sekundären Index, die über die DynamoDB Konsole oder mithilfe des UpdateGlobalTableSettings-Aufrufs werden automatisch auf alle Replikattabellen und übereinstimmenden sekundären Indexen in der globalen Tabelle angewendet. Diese Änderungen überschreiben alle vorhandenen Einstellungen für die automatische Skalierung. Dadurch wird sichergestellt, dass die bereitgestellten Schreibkapazitätseinstellungen über die Replikattabellen und sekundären Indexe in der globalen Tabelle hinweg konsistent sind. Wenn Sie die Aufrufe UpdateTable, RegisterScalableTarget oder PutScalingPolicy verwenden, sollten Sie die Änderung auf jede Replikattabelle und den entsprechenden sekundären Index einzeln anwenden.

Anmerkung

Wenn die automatische Skalierung die Kapazitätsänderungen Ihrer Anwendung nicht erfüllt (unvorhersehbare Workload) oder wenn Sie die Einstellungen (Zieleinstellungen für Minimum, Maximum oder Auslastungsschwellenwert) nicht konfigurieren möchten, können Sie den Bedarfsmodus verwenden, um die Kapazität für Ihre globalen Tabellen zu verwalten. Weitere Informationen finden Sie unter On-Demand-Modus.

Wenn Sie den On-Demand-Modus für eine globale Tabelle aktivieren, ist der Verbrauch replizierter Schreibanforderungseinheiten (RWCU) mit der Bereitstellung von RWCUs konsistent. Wenn Sie beispielsweise 10 Schreibvorgänge in eine lokale Tabelle ausführen, die in zwei zusätzlichen Regionen repliziert wird, verbrauchen Sie 60 Schreibanforderungseinheiten (10 + 10 + 10 = 30; 30 x 2 = 60). Die verbrauchten 60 Schreibanforderungseinheiten enthalten den zusätzlichen Schreibvorgang, der von globalen Tabellen der Version 2017.11.29 (veraltet) verwendet wird, um die Attribute aws:rep:deleting, aws:rep:updatetime und aws:rep:updateregion zu aktualisieren.

Manuelle Verwaltung der Kapazität

Wenn Sie DynamoDB-Auto-Scaling nicht verwenden möchten, müssen Sie die Lese- und Schreibkapazitätseinstellungen für jede Replikattabelle manuell festlegen.

Die bereitgestellten replizierten Schreibkapazitätseinheiten (RWCUs) in jeder Replikattabelle sollten auf die Gesamtzahl der RWCUs festgelegt werden, die für Anwendungsschreibvorgänge in allen Regionen erforderlich sind, multipliziert mit zwei. Auf diese Weise werden Anwendungsschreibvorgänge in der lokalen Region sowie replizierte Anwendungsschreibvorgänge aus anderen Regionen berücksichtigt. Angenommen, Sie erwarten 5 Schreibvorgänge pro Sekunde in die Replikattabelle in Ohio und 5 Schreibvorgänge pro Sekunde in die Replikattabelle in N. Virginia. In diesem Fall sollten Sie 20 rWCUs für jede Replikattabelle bereitstellen (5 + 5 = 10; 10 x 2 = 20).

Um die Einstellungen für die Schreibkapazität für Ihre globale Tabelle zu aktualisieren, wird dringend empfohlen, die DynamoDB-Konsole oder die UpdateGlobalTableSettings-API-Operation. UpdateGlobalTableSettings wendet Änderungen an, um Kapazitätseinstellungen für alle Replikattabellen und übereinstimmende sekundäre Indizes in einer globalen Tabelle automatisch zu schreiben. Wenn Sie die Aufrufe UpdateTable, RegisterScalableTarget oder PutScalingPolicy verwenden, sollten Sie die Änderung auf jede Replikattabelle und den entsprechenden sekundären Index einzeln anwenden. Weitere Informationen finden Sie in der Amazon DynamoDB-API-Referenz.

Anmerkung

Zum Aktualisieren der Einstellungen (UpdateGlobalTableSettings) für eine globale Tabelle in DynamoDB benötigen Sie die Berechtigungen dynamodb:UpdateGlobalTable, dynamodb:DescribeLimits, application-autoscaling:DeleteScalingPolicy und application-autoscaling:DeregisterScalableTarget. Weitere Informationen finden Sie unter Verwenden von IAM mit globalen Tabellen.