Globale Amazon-DynamoDB-Tabellen

Warum globale Amazon-DynamoDB-Tabellen?

Globale Tabellen von Amazon DynamoDB Global ist eine vollständig verwaltete, serverless, multiregionale und multiaktive Datenbank. Globale Tabellen bieten Ihnen eine Verfügbarkeit von 99,999 %, eine erhöhte Anwendungsstabilität und eine verbesserte Geschäftskontinuität. Da globale Tabellen Ihre Amazon-DynamoDB-Tabellen automatisch in den von Ihnen ausgewählten AWS-Regionen replizieren, können Sie eine schnelle, lokale Lese- und Schreibleistung erzielen.

In dem seltenen Fall, dass eine einzelne Region ausfällt, ist kein Datenbank-Failover erforderlich, da die multiaktive Architektur von Globale Tabellen es den Kunden ermöglicht, in jede Replikattabelle zu lesen und zu schreiben. Durch globale Tabellen entfällt auch die schwierige Arbeit, Daten zwischen Regionen zu replizieren und Aktualisierungskonflikte für multiaktive Workloads zu lösen. Darüber hinaus sorgen globale Tabellen dafür, dass Ihre Anwendungen auch in seltenen Fall einer Isolation oder Degradierung einer ganzen Region noch hoch verfügbar sind.

Sie können globale Tabellen in der AWS-Managementkonsole mit der AWS Command Line Interface (AWS CLI) oder mit AWS CloudFormation konfigurieren. Beim Lesen oder Schreiben in eine globale Tabelle sind keine Anwendungsänderungen erforderlich, da globale Tabellen dieselben DynamoDB-APIs wie Tabellen mit einer Region verwenden.

Es gibt keine Vorlaufkosten oder Verpflichtungen für die Nutzung von globalen Tabellen, und Sie bezahlen nur für die genutzten Ressourcen. Weitere Informationen zur Konfiguration globaler Tabellen finden Sie im Entwicklerhandbuch für Amazon DynamoDB. Weitere Informationen zu den Preisen für globale Tabellen finden Sie unter den Amazon-DynamoDB-Preisoptionen für On-Demand- und bereitgestellte Tabellen.

Funktionsweise:

Eine globale DynamoDB-Tabelle besteht aus mehreren Replikattabellen. Jede Replikattabelle befindet sich in einer anderen Region, aber alle Replikate haben denselben Namen und Primärschlüssel. Wenn Daten in eine Replikattabelle geschrieben werden, repliziert DynamoDB diese Daten automatisch in alle anderen Replikattabellen in der globalen Tabelle.

Nehmen wir zum Beispiel an, dass Ihre Anwendung einen großen Kundenstamm hat, der sich über drei geografische Gebiete verteilt – die Ostküste der USA, Kanada und Westeuropa. Ohne globale Tabellen müssten Sie in jeder AWS-Region eine Tabelle erstellen und Code schreiben, um Datenänderungen in jeder Tabelle in jeder Region zu replizieren.

Mit globalen Tabellen können Sie eine globale Tabelle mit einer Replikattabelle in den drei Regionen erstellen, die jedem geografischen Gebiet am nächsten liegen. DynamoDB repliziert automatisch Änderungen von jedem Replikat auf die Replikate in den anderen Regionen.

Globale Tabellen ermöglichen den Benutzern Ihrer Anwendung den Zugriff auf die Daten mit geringer Latenz, unabhängig davon, wo sie sich befinden. In dem unwahrscheinlichen Fall, dass eine AWS-Region vorübergehend nicht verfügbar ist, können Ihre Kunden trotzdem auf die Replikattabellen in den anderen Regionen zugreifen.

Funktionsweise:

Vorteile der globalen Amazon-DynamoDB-Tabelle

Alle Änderungen, die an einem beliebigen Element in einer Replikattabelle vorgenommen werden, werden auf alle anderen Repliken innerhalb derselben globalen Tabelle repliziert. In einer globalen Tabelle wird ein neu geschriebenes Element normalerweise innerhalb einer Sekunde auf alle Replikattabellen übertragen.  Bei einer globalen Tabelle speichert jede Replikattabelle denselben Satz von Datenelementen. Amazon DynamoDB unterstützt nicht die teilweise Replikation von nur einigen der Elemente. Wenn Anwendungen dasselbe Element in verschiedenen Regionen etwa zur gleichen Zeit aktualisieren, kann es zu Konflikten kommen.

Um Konflikte zu lösen, verwenden die globalen Tabellen von Amazon DynamoDB einen Last-Writer-Wins-Abgleich zwischen gleichzeitigen Aktualisierungen, bei dem Amazon DynamoDB sich nach besten Kräften bemüht, den letzten Schreiber zu ermitteln. Bei diesem Konfliktlösungsmechanismus stimmen alle Replikate mit der letzten Aktualisierung überein und nähern sich einem Zustand an, in dem sie alle identische Daten haben.

Die multiaktive, regionsübergreifende Replikation stellt sicher, dass Aktualisierungen, die an einer Replikattabelle in einer Region vorgenommen werden, auf die Replikattabellen in anderen Regionen repliziert werden. Die Replikation zwischen Tabellenreplikaten über Regionen hinweg ist letztlich konsistent. Dies bedeutet, dass lokale Lese- und Schreibvorgänge in Replikattabellen innerhalb derselben Region, in der sich die Anwendung befindet, eine hohe Konsistenz erreichen können. Die Lesevorgänge für Elemente, die sich in anderen Replikattabellen innerhalb einer Region befinden, sind jedoch letztendlich konsistent.

Globale Tabellen reduzieren die Komplexität und den betrieblichen Aufwand, der mit der Bereitstellung und Verwaltung einer multiaktiven, regionsübergreifenden Replikation in Amazon DynamoDB verbunden ist. Sie können die Regionen auswählen, in denen Ihre Daten repliziert werden müssen – DynamoDB kümmert sich um den Rest. Anwendungen greifen durch Nutzung der bestehenden DynamoDB-APIs und -Endpunkte auf globale Tabellen zu.

Mit globalen Tabellen können Sie Ihre Daten lokal lesen und schreiben und eine Latenzzeit im einstelligen Millisekundenbereich für Ihre global verteilten Anwendungen in beliebigem Umfang bereitstellen. Dies kann die Leistung für massiv skalierte globale Anwendungen steigern.

Globale Tabellen sind für eine Verfügbarkeit von 99,999 % konzipiert. Wenn eine einzelne Region isoliert oder degradiert wird, kann Ihre Anwendung in eine andere Region umleiten und Lese- und Schreibvorgänge in einer andere Replikattabelle durchführen. Sie können benutzerdefinierte Geschäftslogik anwenden, um zu bestimmen, wann Anfragen an andere Regionen weitergeleitet werden sollen. 

Darüber hinaus verfolgt Amazon DynamoDB alle Schreibvorgänge, die durchgeführt, aber noch nicht auf alle Replikattabellen übertragen wurden. Wenn die Region wieder online ist, setzt Amazon DynamoDB die Propagierung aller ausstehenden Schreibzugriffe aus dieser Region auf die Replikattabellen in anderen Regionen und umgekehrt fort.

Themen der Seite

Allgemeines

Allgemeines

Eine globale Tabelle ist eine Sammlung von einer oder mehreren Replikattabellen, die alle einem einzigen AWS-Konto gehören. Eine einzelne globale Amazon-DynamoDB-Tabelle kann nur eine Replikatabelle pro AWS-Region haben.

Eine Replikattabelle ist eine einzelne DynamoDB-Tabelle. Jede Replikattabelle speichert denselben Satz von Datenelementen, hat denselben Tabellennamen und dasselbe Primärschlüsselschema. Wenn eine Anwendung Daten in eine Replikattabelle in einer Region schreibt, repliziert Amazon DynamoDB automatisch das Schreiben in den anderen Replikattabellen in den anderen AWS-Regionen.

Ja, Amazon Dynamo Globale Tabellen fördert die Geschäftskontinuität, da sie die Stabilität einer Anwendung erhöhen und eine starke Konsistenz für eine einzelne Region bieten. Da globale Tabellen multiaktiv sind, kann eine Anwendung in jede Replikattabelle lesen oder schreiben. Im seltenen Fall eines ungeplanten Regionsereignisses kann die Anwendung zu einem anderen Replikat umleiten.

Mit dieser schrittweisen Anleitung können Sie mithilfe der Amazon-DynamoDB-Konsole, AWS CLI oder AWS CloudFormation eine globale Tabelle erstellen.

Bevor Sie einer globalen Amazon-DynamoDB-Tabelle ein zusätzliches Replikat in einer anderen Region hinzufügen, müssen für die Tabelle DynamoDB-Streams aktiviert sein, die Tabelle muss denselben Namen wie alle anderen Replikate haben, denselben Partitionsschlüssel wie alle anderen Replikate haben und dieselben angegebenen Schreibkapazitätseinstellungen haben.

Alle Replikatabellen in einer globalen Amazon-DynamoDB-Tabelle müssen denselben Namen haben.

Ähnlich wie bei anderen Datenbanken speichert Amazon DynamoDB Daten in Tabellen. Eine Tabelle ist eine Sammlung von Elementen, und jedes Element ist eine Sammlung von Attributen. Amazon DynamoDB verwendet Primärschlüssel, um jedes Element in einer Tabelle eindeutig zu identifizieren, und verfügt über sekundäre Indizes, um mehr Flexibilität bei Abfragen zu bieten.

Im Gegensatz dazu ist eine globale Amazon-DynamoDB-Tabelle eine Sammlung von einer oder mehreren Replikattabellen, die einem einzelnen AWS-Konto gehören. Jede Replikatabelle entspricht strukturell einer regulären Amazon-DynamoDB-Tabelle.

Ja, Sie können die zeitpunktbezogene Wiederherstellung für jedes Replikat einer globalen Tabelle aktivieren.

  • Zoom

    Als die COVID-19-Pandemie begann, gab es eine enorme Nachfrage nach unseren Sprach- und Videoservices. Anfang 2020 verzeichneten wir einen beispiellosen Anstieg der Nutzung von 10 Mio. auf 300 Mio. tägliche Meeting-Teilnehmer, neue und bestehende Kunden, die sich virtuell verbinden wollten. Am Backend konnten wir diesen Anstieg mit Amazon DynamoDB für Zoom Meetings verwalten. Die Verwendung von globalen DynamoDB-Tabellen in Verbindung mit dem On-Demand-Modus ermöglichte uns eine nahezu unendliche Skalierung ohne Leistungsprobleme, selbst bei unserem plötzlichen Nutzungsanstieg.

    Yasin Mohammed, Technischer Leiter für Cloud-Betrieb bei Zoom Video Communications, Inc.
  • Disney

    Disney+ verwendet Amazon DynamoDB, um Inhalte, Metadaten und Milliarden von Kundenaktionen pro Tag aufzunehmen. So können Zuschauer Inhalte zu ihren Merklisten hinzufügen, ein Video starten und auf einem anderen Gerät abrufen oder Empfehlungen für das nächste Video erhalten.

    Milliarden von Lesezeichen werden täglich über Amazon Kinesis und Amazon DynamoDB aufgenommen.

    Attilio Giue, Director of Content Discovery, Disney+
    Pressemitteilung lesen »
  • Snap Inc.

    Snap Inc. sparte erheblich bei den jährlichen Infrastrukturkosten ein und ermöglichte mithilfe von Amazon DynamoDB eine schnelle, zuverlässige Infrastruktur für die Multimedia-Messaging-App Snapchat.

    Die Funktionen, die Amazon DynamoDB bietet, und die kontinuierlichen Innovationen darin geben uns die Zuversicht, dass wir uns auch weiterhin darauf verlassen und darüber hinaus Innovationen entwickeln können.

    Saral Jain, Direktor für Technik und Leiter der Infrastruktur, Snap Inc.
    Die Fallstudie lesen »