Was ist Amazon DynamoDB? - 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.

Was ist Amazon DynamoDB?

Amazon DynamoDB ist eine serverlose, vollständig verwaltete NoSQL-Datenbank mit einer Leistung im einstelligen Millisekundenbereich in jeder Größenordnung.

DynamoDB geht auf Ihre Bedürfnisse ein, um die Skalierung und die betriebliche Komplexität relationaler Datenbanken zu überwinden. DynamoDB wurde speziell für betriebliche Workloads entwickelt und optimiert, die eine konsistente Leistung in jeder Größenordnung erfordern. DynamoDB bietet beispielsweise eine konsistente Leistung im einstelligen Millisekundenbereich für einen Einkaufswagen-Anwendungsfall, unabhängig davon, ob Sie 10 oder 100 Millionen Benutzer haben. DynamoDB wurde 2012 eingeführt und hilft Ihnen weiterhin dabei, sich von relationalen Datenbanken zu verabschieden und gleichzeitig die Kosten zu senken und die Leistung im großen Maßstab zu verbessern.

Kunden aller Größen, Branchen und Regionen verwenden DynamoDB, um moderne, serverlose Anwendungen zu entwickeln, die klein anfangen und global skalieren können. DynamoDB lässt sich skalieren, um Tabellen praktisch jeder Größe zu unterstützen und bietet gleichzeitig eine konsistente Leistung im einstelligen Millisekundenbereich und hohe Verfügbarkeit.

Bei Veranstaltungen wie dem Amazon Prime Day unterstützt DynamoDB mehrere stark frequentierte Amazon-Standorte und -Systeme, darunter Alexa, Amazon.com-Websites und alle Amazon-Versandzentren. Für solche Ereignisse haben DynamoDB-APIs Billionen von Aufrufen von Amazon-Eigenschaften und -Systemen verarbeitet. DynamoDB bedient kontinuierlich Hunderte von Kunden mit Tabellen, deren Spitzenverkehr über eine halbe Million Anfragen pro Sekunde beträgt. Außerdem bedient es Hunderte von Kunden, deren Tabellengrößen 200 TB überschreiten, und verarbeitet über eine Milliarde Anfragen pro Stunde.

Eigenschaften von DynamoDB

Serverless

Mit DynamoDB müssen Sie keine Server bereitstellen oder Software patchen, verwalten, installieren, warten oder betreiben. DynamoDB bietet Wartung ohne Ausfallzeiten. Es gibt keine Versionen (Hauptversionen, Nebenversionen oder Patches) und es gibt keine Wartungsfenster.

Der On-Demand-Kapazitätsmodus von DynamoDB bietet pay-as-you-go Preise für Lese- und Schreibanforderungen, sodass Sie nur für das bezahlen, was Sie tatsächlich nutzen. Bei Bedarf skaliert DynamoDB Ihre Tabellen sofort nach oben oder unten, um sie an die Kapazität anzupassen und die Leistung ohne Verwaltungsaufwand aufrechtzuerhalten. Es wird auch auf Null herunterskaliert, sodass Sie nicht für den Durchsatz zahlen, wenn Ihre Tabelle keinen Traffic hat und es keine Kaltstarts gibt.

NoSQL

Als NoSQL-Datenbank wurde DynamoDB speziell dafür entwickelt, im Vergleich zu herkömmlichen relationalen Datenbanken eine verbesserte Leistung, Skalierbarkeit, Verwaltbarkeit und Flexibilität zu bieten. Um eine Vielzahl von Anwendungsfällen zu unterstützen, unterstützt DynamoDB sowohl Schlüsselwert- als auch Dokumentdatenmodelle.

Im Gegensatz zu relationalen Datenbanken unterstützt DynamoDB keinen JOIN-Operator. Wir empfehlen Ihnen, Ihr Datenmodell zu denormalisieren, um Datenbank-Roundtrips und die für die Beantwortung von Abfragen benötigte Rechenleistung zu reduzieren. Als NoSQL-Datenbank bietet DynamoDB eine hohe Lesekonsistenz und ACID-Transaktionen zur Erstellung von Unternehmensanwendungen.

Vollständig verwaltet

Als vollständig verwalteter Datenbankservice übernimmt DynamoDB die undifferenzierte Schwerstarbeit der Datenbankverwaltung, sodass Sie sich darauf konzentrieren können, Mehrwert für Ihre Kunden zu schaffen. Es kümmert sich um Einrichtung, Konfiguration, Wartung, Hochverfügbarkeit, Hardwarebereitstellung, Sicherheit, Backups, Überwachung und mehr. Dadurch wird sichergestellt, dass eine DynamoDB-Tabelle, wenn Sie sie erstellen, sofort für Produktionsworkloads bereit ist. DynamoDB verbessert ständig seine Verfügbarkeit, Zuverlässigkeit, Leistung, Sicherheit und Funktionalität, ohne dass Upgrades oder Ausfallzeiten erforderlich sind.

Leistung im einstelligen Millisekundenbereich bei jeder Größenordnung

DynamoDB wurde speziell entwickelt, um die Leistung und Skalierbarkeit relationaler Datenbanken zu verbessern und eine Leistung im einstelligen Millisekundenbereich in jeder Größenordnung zu erzielen. Um diese Skalierbarkeit und Leistung zu erreichen, ist DynamoDB für Hochleistungs-Workloads optimiert und bietet APIs, die eine effiziente Datenbanknutzung fördern. Funktionen, die im großen Maßstab ineffizient und nicht leistungsfähig sind, wie z. B. JOIN-Operationen, werden nicht berücksichtigt. DynamoDB bietet eine konsistente Leistung im einstelligen Millisekundenbereich für Ihre Anwendung, unabhängig davon, ob Sie 100 oder 100 Millionen Benutzer haben.

DynamoDB-Anwendungsfälle

Kunden aller Größen, Branchen und Regionen verwenden DynamoDB, um moderne, serverlose Anwendungen zu entwickeln, die klein anfangen und global skalieren können. DynamoDB ist ideal für Anwendungsfälle, die eine gleichbleibende Leistung in jeder Größenordnung mit geringem bis gar keinem Betriebsaufwand erfordern. Die folgende Liste enthält einige Anwendungsfälle, in denen Sie DynamoDB verwenden können:

  • Finanzdienstleistungsanwendungen — Nehmen wir an, Sie sind ein Finanzdienstleistungsunternehmen, das Anwendungen wie Live-Handel und -Routing, Kreditmanagement, Token-Generierung und Transaktionsbücher entwickelt. Mit globalen DynamoDB-Tabellen können Ihre Anwendungen auf Ereignisse reagieren und Traffic Ihrer Wahl AWS-Regionen mit schneller, lokaler Lese- und Schreibleistung bereitstellen.

    DynamoDB eignet sich für Anwendungen mit den strengsten Verfügbarkeitsanforderungen. Dadurch entfällt der betriebliche Aufwand, der durch die manuelle Skalierung von Instanzen entsteht, um Speicherplatz oder Durchsatz, Versionierung und Lizenzierung zu erhöhen.

    Sie können DynamoDB-Transaktionen verwenden, um Atomizität, Konsistenz, Isolation und Haltbarkeit (ACID) für eine oder mehrere Tabellen mit einer einzigen Anforderung zu erreichen. (ACID) -Transaktionen eignen sich für Workloads, zu denen die Verarbeitung von Finanztransaktionen oder die Ausführung von Bestellungen gehören. DynamoDB passt sich Ihren Workloads sofort an, wenn sie steigen oder fallen, sodass Sie Ihre Datenbank effizient an Marktbedingungen wie Handelszeiten anpassen können.

  • Spieleanwendungen — Als Spieleunternehmen können Sie DynamoDB für alle Bereiche von Spieleplattformen verwenden, z. B. für Spielstatus, Spielerdaten, Sitzungsverlauf und Bestenlisten. Entscheiden Sie sich für DynamoDB aufgrund der Skalierbarkeit, der konsistenten Leistung und der Benutzerfreundlichkeit, die die serverlose Architektur bietet. DynamoDB eignet sich gut für Scale-Out-Architekturen, die zur Unterstützung erfolgreicher Spiele benötigt werden. Es skaliert den Durchsatz Ihres Spiels schnell sowohl nach innen als auch nach außen (ohne Kaltstart auf Null skalieren). Durch diese Skalierbarkeit wird die Effizienz Ihrer Architektur optimiert, ganz gleich, ob Sie bei hohem Traffic nach oben skalieren oder bei geringer Gameplay-Auslastung wieder zurückfahren.

  • Streaming-Anwendungen — Medien- und Unterhaltungsunternehmen verwenden DynamoDB als Metadatenindex für Inhalte, Content-Management-Dienste oder zur Bereitstellung von Sportstatistiken nahezu in Echtzeit. Sie verwenden DynamoDB auch, um Dienste für Benutzerbeobachtungslisten und Lesezeichen auszuführen und Milliarden von täglichen Kundenereignissen zu verarbeiten, um Empfehlungen zu generieren. Diese Kunden profitieren von der Skalierbarkeit, Leistung und Stabilität von DynamoDB. DynamoDB passt sich an Änderungen der Arbeitslast an, wenn sie steigen oder sinken, und ermöglicht so Streaming-Media-Anwendungsfälle, die alle Anforderungen erfüllen können.

Weitere Informationen darüber, wie Kunden aus verschiedenen Branchen DynamoDB verwenden, finden Sie unter Amazon DynamoDB-Kunden und This is My Architecture.

Funktionen von DynamoDB

Multiaktive Replikation mit globalen Tabellen

Globale Tabellen ermöglichen eine multiaktive Replikation Ihrer Daten für die von Ihnen ausgewählten Daten AWS-Regionen mit einer Verfügbarkeit von 99,999% Globale Tabellen bieten eine vollständig verwaltete Lösung für die Bereitstellung einer multiaktiven Datenbank mit mehreren Regionen, ohne dass Sie eine eigene Replikationslösung erstellen und verwalten müssen. Bei globalen Tabellen können Sie angeben, AWS-Regionen wo die Tabellen verfügbar sein sollen. DynamoDB repliziert laufende Datenänderungen in all diesen Tabellen.

Ihre global verteilten Anwendungen können lokal auf Daten in den ausgewählten Regionen zugreifen, um eine Lese- und Schreibleistung im einstelligen Millisekundenbereich zu erreichen. Da globale Tabellen multiaktiv sind, benötigen Sie keine Primärtabelle. Das bedeutet, dass es beim Failover einer Anwendung zwischen Regionen keine komplizierten oder verzögerten Failovers oder Datenbankausfälle gibt.

ACID-Transaktionen

DynamoDB wurde für geschäftskritische Workloads entwickelt. Es umfasst die Unterstützung von (ACID) -Transaktionen für Anwendungen, die eine komplexe Geschäftslogik erfordern. DynamoDB bietet native serverseitige Unterstützung für Transaktionen und vereinfacht so die Entwicklererfahrung, koordinierte all-or-nothing Änderungen an mehreren Elementen innerhalb und zwischen Tabellen vorzunehmen.

Erfassung von Änderungsdaten für ereignisgesteuerte Architekturen

DynamoDB unterstützt das Streaming von CDC-Datensätzen (Change Data Capture) auf Artikelebene nahezu in Echtzeit. Es bietet zwei Streaming-Modelle für CDC: DynamoDB Streams und Kinesis Data Streams for DynamoDB. Immer wenn eine Anwendung Elemente in einer Tabelle erstellt, aktualisiert oder löscht, zeichnet Streams nahezu in Echtzeit eine zeitlich geordnete Reihenfolge aller Änderungen auf Elementebene auf. Dies macht DynamoDB Streams ideal für Anwendungen mit ereignisgesteuerter Architektur, um die Änderungen zu nutzen und darauf zu reagieren.

Sekundäre Indexe

DynamoDB bietet die Möglichkeit, sowohl globale als auch lokale Sekundärindizes zu erstellen, mit denen Sie die Tabellendaten mit einem alternativen Schlüssel abfragen können. Mit diesen Sekundärindizes können Sie auf Daten mit anderen Attributen als dem Primärschlüssel zugreifen, was Ihnen maximale Flexibilität beim Zugriff auf Ihre Daten bietet.

Service-Integrationen

DynamoDB lässt sich umfassend in mehrere Systeme integrieren AWS-Services , um Ihnen zu helfen, mehr aus Ihren Daten herauszuholen, undifferenzierte Schwerarbeit zu vermeiden und Ihre Workloads skalierbar zu betreiben. Einige Beispiele sind: Amazon AWS CloudFormation CloudWatch, Amazon S3, AWS Identity and Access Management (IAM) und AWS Auto Scaling. In den folgenden Abschnitten werden einige der Dienstintegrationen beschrieben, die Sie mit DynamoDB durchführen können:

Serverlose Integrationen

Um end-to-end serverlose Anwendungen zu erstellen, lässt sich DynamoDB nativ in eine Reihe von serverlosen Anwendungen integrieren. AWS-Services Sie können DynamoDB beispielsweise integrieren, um Trigger AWS Lambda zu erstellen. Dabei handelt es sich um Codeteile, die automatisch auf Ereignisse in DynamoDB Streams reagieren. Mit Triggern können Sie ereignisgesteuerte Anwendungen erstellen, die auf Datenänderungen in DynamoDB-Tabellen reagieren. Zur Kostenoptimierung können Sie Ereignisse filtern, die Lambda aus einem DynamoDB-Stream verarbeitet.

Die folgende Liste enthält einige Beispiele für serverlose Integrationen mit DynamoDB:

Daten nach Amazon S3 importieren und exportieren

Durch die Integration von DynamoDB mit Amazon S3 können Sie Daten für Analysen und maschinelles Lernen einfach in einen Amazon S3 S3-Bucket exportieren. DynamoDB unterstützt vollständige Tabellenexporte und inkrementelle Exporte, um geänderte, aktualisierte oder gelöschte Daten zwischen einem bestimmten Zeitraum zu exportieren. Sie können auch Daten aus Amazon S3 in eine neue DynamoDB-Tabelle importieren.

Integration ohne ETL

DynamoDB unterstützt die Zero-ETL-Integration mit Amazon Redshift und Amazon Service. OpenSearch Diese Integrationen ermöglichen es Ihnen, komplexe Analysen durchzuführen und erweiterte Suchfunktionen für Ihre DynamoDB-Tabellendaten zu verwenden. Sie können beispielsweise eine Volltext- und Vektorsuche sowie eine semantische Suche in Ihren DynamoDB-Daten durchführen. Zero-ETL-Integrationen haben keine Auswirkungen auf Produktionsworkloads, die auf DynamoDB ausgeführt werden.

Caching

DynamoDB Accelerator (DAX) ist ein vollständig verwalteter, hochverfügbarer Caching-Service, der für DynamoDB entwickelt wurde. DAX bietet eine bis zu zehnfache Leistungsverbesserung — von Millisekunden bis Mikrosekunden — selbst bei Millionen von Anfragen pro Sekunde. DAX übernimmt die gesamte Arbeit, die erforderlich ist, um Ihre DynamoDB-Tabellen mit speicherinterner Beschleunigung auszustatten, ohne dass Sie sich um die Cache-Invalidierung, Datenbefüllung oder Clusterverwaltung kümmern müssen.

Sicherheit

DynamoDB verwendet IAM, um Ihnen zu helfen, den Zugriff auf Ihre DynamoDB-Ressourcen sicher zu kontrollieren. Mit IAM können Sie zentral Berechtigungen verwalten, die steuern, welche DynamoDB-Benutzer auf Ressourcen zugreifen können. Sie verwenden IAM, um zu steuern, wer authentifiziert (angemeldet) und autorisiert (Berechtigungen besitzt) ist, Ressourcen zu nutzen. Da DynamoDB IAM verwendet, gibt es keine Benutzernamen oder Passwörter für den Zugriff auf DynamoDB. Da Sie keine komplizierten Richtlinien für die Passwortrotation verwalten müssen, vereinfacht dies Ihren Sicherheitsstatus. Mit IAM können Sie auch eine differenzierte Zugriffskontrolle aktivieren, um Autorisierungen auf Attributebene zu gewähren. Sie können auch ressourcenbasierte Richtlinien mit Unterstützung für IAM Access Analyzer und Block Public Access (BPA) definieren, um die Richtlinienverwaltung zu vereinfachen.

Standardmäßig verschlüsselt DynamoDB alle gespeicherten Kundendaten. Die Verschlüsselung im Ruhezustand erhöht die Sicherheit Ihrer Daten durch die Verwendung von Verschlüsselungsschlüsseln, die in AWS Key Management Service() gespeichert sind.AWS KMS Mit der Verschlüsselung ruhender Daten können Sie sicherheitsrelevante Anwendungen erstellen, die eine strenge Einhaltung der Verschlüsselungsvorschriften und der gesetzlichen Bestimmungen erfordern. Wenn Sie auf eine verschlüsselte Tabelle zugreifen, entschlüsselt DynamoDB die Tabellendaten transparent. Sie müssen keinen Code oder Anwendungen ändern, um verschlüsselte Tabellen zu verwenden oder zu verwalten. DynamoDB bietet weiterhin dieselbe Latenz im einstelligen Millisekundenbereich, die Sie erwarten, und alle DynamoDB-Abfragen funktionieren problemlos mit Ihren verschlüsselten Daten.

Sie können angeben, ob DynamoDB einen AWS-eigener Schlüssel (Standardverschlüsselungstyp) oder einen vom Kunden verwalteten Schlüssel zum Verschlüsseln von Benutzerdaten verwenden soll. Von AWS verwalteter Schlüssel Die Standardverschlüsselung mit AWS eigenen KMS-Schlüsseln ist ohne zusätzliche Kosten verfügbar. Für die clientseitige Verschlüsselung können Sie das AWS Database Encryption SDK verwenden.

DynamoDB hält sich auch an mehrere Compliance-Standards, darunter HIPAA, PCI DSS und GDPR, sodass Sie gesetzliche Anforderungen erfüllen können.

Ausfallsicherheit

Standardmäßig repliziert DynamoDB Ihre Daten automatisch über drei Availability Zones hinweg, um eine hohe Beständigkeit und eine Verfügbarkeit von 99,99% zu gewährleisten. DynamoDB bietet außerdem zusätzliche Funktionen, mit denen Sie Ihre Ziele für Geschäftskontinuität und Notfallwiederherstellung erreichen können.

DynamoDB umfasst die folgenden Funktionen zur Unterstützung Ihrer Datenausfallsicherheit und Ihrer Backup-Anforderungen:

Globale Tabellen

Globale DynamoDB-Tabellen ermöglichen eine Verfügbarkeit von 99,999% und eine Ausfallsicherheit in mehreren Regionen. Auf diese Weise können Sie ausfallsichere Anwendungen erstellen und sie im Hinblick auf das niedrigste Recovery Time Objective (RTO) und Recovery Point Objective (RPO) optimieren. Global Tables lässt sich auch in AWS Fault Injection Service (AWS FIS) integrieren, um Fault-Injection-Experimente für Ihre globalen Tabellen-Workloads durchzuführen. Zum Beispiel das Anhalten der globalen Tabellenreplikation für eine beliebige Replikattabelle.

Kontinuierliche Backups und Wiederherstellung point-in-time

Kontinuierliche Backups bieten Ihnen eine Genauigkeit pro Sekunde und die Möglichkeit, eine point-in-time Wiederherstellung einzuleiten. Mit point-in-time Recovery können Sie eine Tabelle zu einem beliebigen Zeitpunkt bis zur Sekunde der letzten 35 Tage wiederherstellen.

Kontinuierliche Backups und das Initiieren einer point-in-time Wiederherstellung verbrauchen keine bereitgestellte Kapazität. Sie haben auch keine Auswirkungen auf die Leistung oder Verfügbarkeit Ihrer Anwendungen.

On-Demand-Backup und Wiederherstellung

Mit Backup und Wiederherstellung auf Abruf können Sie vollständige Backups einer Tabelle für die langfristige Aufbewahrung und Archivierung erstellen, um die Einhaltung gesetzlicher Vorschriften zu gewährleisten. Backups wirken sich nicht auf die Leistung Ihrer Tabelle aus und Sie können Tabellen jeder Größe sichern. Mit der AWS Backup Integration können Sie AWS Backup den Lebenszyklus Ihrer DynamoDB-Backups auf Abruf automatisch planen, kopieren, taggen und verwalten. Mithilfe AWS Backup können Sie On-Demand-Backups zwischen Konten und Regionen kopieren und ältere Backups zur Kostenoptimierung in Cold Storage migrieren.

Zugreifen auf DynamoDB

Sie können mit DynamoDB arbeiten, indem Sie die AWS Management ConsoleAWS Command Line InterfaceNoSQL-Workbench für DynamoDB, oder DynamoDB-APIs verwenden.

DynamoDB-Preisgestaltung

DynamoDB berechnet Gebühren für das Lesen, Schreiben und Speichern von Daten in Ihren Tabellen sowie für alle optionalen Funktionen, die Sie aktivieren möchten. DynamoDB bietet zwei Kapazitätsmodi mit ihren jeweiligen Abrechnungsoptionen für die Verarbeitung von Lese- und Schreibvorgängen in Ihren Tabellen: auf Abruf und bereitgestellt.

DynamoDB bietet auch ein kostenloses Kontingent mit 25 GB Speicherplatz. Das kostenlose Kontingent umfasst außerdem 25 bereitgestellte Schreib- und 25 bereitgestellte Lesekapazitätseinheiten (WCU, RCU), was ausreicht, um 200 Millionen Anfragen pro Monat zu bearbeiten.

Weitere Informationen finden Sie unter Amazon DynamoDB – Preise.

Erste Schritte mit DynamoDB

Wenn Sie DynamoDB zum ersten Mal verwenden, empfehlen wir Ihnen, zunächst die folgenden Themen zu lesen:

  • Erste Schritte mit DynamoDB— Führt Sie durch den Prozess der Einrichtung von DynamoDB, der Erstellung von Beispieltabellen und des Hochladens von Daten. Dieses Thema enthält auch Informationen zur Ausführung einiger grundlegender Datenbankoperationen mit den APIs AWS Management Console, AWS CLI, NoSQL Workbench und DynamoDB.

  • DynamoDB-Kernkomponenten — Beschreibt die grundlegenden DynamoDB-Konzepte.

  • Bewährte Methoden für Design und Architektur mit DynamoDB— Enthält Empfehlungen zum NoSQL-Design, zu DynamoDB Well-Architected Lens, zum Tabellendesign und zu verschiedenen anderen DynamoDB-Funktionen. Diese bewährten Methoden helfen Ihnen, die Leistung zu maximieren und die Durchsatzkosten bei der Arbeit mit DynamoDB zu minimieren.

Wir empfehlen Ihnen außerdem, die folgenden Tutorials zu lesen, in denen vollständige end-to-end Verfahren vorgestellt werden, um sich mit DynamoDB vertraut zu machen. Sie können diese Tutorials im Rahmen des kostenlosen Kontingents von abschließen. AWS

Informationen zu Ressourcen, Tools und Strategien für die Migration zu DynamoDB finden Sie unter Zu DynamoDB migrieren. Die neuesten Blogs und Whitepapers finden Sie unter Amazon DynamoDB DynamoDB-Ressourcen.