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, verteilte NoSQL-Datenbank mit einer Leistung im einstelligen Millisekundenbereich in jeder Größenordnung.

Mit DynamoDB lassen sich die komplexen Anforderungen bezüglich Skalierung und Betrieb von relationalen Datenbanken überwinden. DynamoDB wurde speziell für betriebliche Workloads entwickelt und optimiert, die eine konsistente Leistung in jeder Größenordnung erfordern. So bietet es beispielsweise bei einem Warenkorb-Anwendungsfall eine konsistente Leistung im einstelligen Millisekundenbereich – ob mit 10 oder 100 Millionen Benutzern. Seit seiner Einführung 2012 unterstützt DynamoDB Anwender dabei, sich von relationalen Datenbanken zu verabschieden und gleichzeitig Kosten zu senken und die Leistung spürbar zu verbessern.

Kunden aller Größen, Branchen und Regionen verwenden DynamoDB, um moderne Serverless-Anwendungen zu entwickeln. Diese können von einer kleinen Ausgangsgröße global skaliert werden. Durch seine Skalierbarkeit kann DynamoDB Tabellen praktisch jeder Größe unterstützen. Gleichzeitig bietet es eine konsistente Leistung im einstelligen Millisekundenbereich und hohe Verfügbarkeit.

Bei Ereignissen wie dem Amazon Prime Day unterstützt DynamoDB mehrere Amazon-Standorte und -Systeme mit hohem Datenverkehr, darunter Alexa, Amazon.com-Websites und alle Amazon-Versandzentren. Für solche Ereignisse APIs hat DynamoDB Billionen von Aufrufen von Amazon-Immobilien und -Systemen verarbeitet. DynamoDB bedient kontinuierlich Hunderte Kunden mit Tabellen, die zu Spitzenzeiten über eine halbe Million Anfragen pro Sekunde erhalten. Außerdem bedient es Hunderte Kunden, deren Tabellengrößen 200 TB überschreiten, und verarbeitet über eine Milliarde Anfragen pro Stunde.

Merkmale von DynamoDB

Serverless

Mit DynamoDB müssen Sie keine Server bereitstellen oder Software patchen, verwalten, installieren, pflegen oder betreiben. DynamoDB ermöglicht eine Wartung ohne Ausfallzeiten. Es gibt weder Versionen (Hauptversion, Nebenversionen oder Patches) noch Wartungszeitfenster.

Der On-Demand-Kapazitätsmodus von DynamoDB bietet pay-as-you-go Preise für Lese- und Schreibanfragen, sodass Sie nur für das bezahlen, was Sie tatsächlich nutzen. Bei Bedarf skaliert DynamoDB Ihre Tabellen sofort nach oben oder unten, um für die nötige Kapazität zu sorgen. Dabei bleibt das Leistungsniveau ohne Verwaltungsaufwand erhalten. Es wird auch auf Null herunterskaliert, sodass Sie nicht für Durchsatz zahlen, wenn Ihre Tabelle keinen Datenverkehr verzeichnet. Zudem gibt es keine Kaltstarts.

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, kann DynamoDB sowohl mit Schlüsselwert- als auch Dokumentdatenmodellen verwendet werden.

Im Gegensatz zu relationalen Datenbanken unterstützt DynamoDB keinen JOIN-Operator. Deshalb wird empfohlen, Ihr Datenmodell zu denormalisieren, um Austauschläufe der Datenbank und die für die Beantwortung von Abfragen benötigte Rechenleistung zu reduzieren. Als NoSQL-Datenbank bietet DynamoDB hohe Lesekonsistenz und ACID-Transaktionen zur Erstellung von Unternehmensanwendungen.

Vollständig verwaltet

Als vollständig verwalteter Datenbankservice übernimmt DynamoDB die aufwendigsten Aufgaben der Datenbankverwaltung. So können Sie sich darauf konzentrieren, Mehrwert für Ihre Kunden zu schaffen. Es kümmert sich um Einrichtung, Konfiguration, Wartung, Hochverfügbarkeit, Hardwarebereitstellung, Sicherheit, Backups, Überwachung und mehr. Dadurch ist eine DynamoDB-Tabelle sofort nach dem Erstellen für Produktionsworkloads bereit. 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

DynamoDB wurde speziell dafür entwickelt, die Performance und Skalierbarkeit relationaler Datenbanken zu verbessern und in jeder Größenordnung eine Leistung im einstelligen Millisekundenbereich zu erzielen. Um diese Skalierbarkeit und Leistung zu erreichen, ist DynamoDB für Hochleistungs-Workloads optimiert und bietet Lösungen APIs , die eine effiziente Datenbanknutzung fördern. Funktionen, die ineffizient sind und sich nicht für Einsätze im großen Umfang eignen, wie z. B. JOIN-Operationen, werden weggelassen. DynamoDB bietet eine konsistente Leistung im einstelligen Millisekundenbereich für Ihre Anwendung – egal, ob mit 100 oder 100 Millionen Benutzern.

Anwendungsfälle für DynamoDB

Kunden aller Größen, Branchen und Regionen verwenden DynamoDB, um moderne Serverless-Anwendungen zu entwickeln. Diese können von einer kleinen Ausgangsgröße global skaliert werden. DynamoDB ist ideal für Anwendungsfälle, die eine gleichbleibende Leistung in jeder Größenordnung mit geringem bis gar keinem Betriebsaufwand erfordern. In der folgenden Liste finden Sie einige Anwendungsfälle von DynamoDB:

  • Anwendungen für Finanzdienstleistungen – 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. Es beseitigt den betrieblichen Aufwand, der durch die manuelle Skalierung von Instances entsteht, um Speicherplatz oder Durchsatz zu erhöhen sowie Versionsverwaltung und Lizenzierung zu regeln.

    Sie können DynamoDB-Transaktionen verwenden, um mit einer einzigen Anfrage Atomizität, Konsistenz, Isolierung und Zuverlässigkeit (ACID) für eine oder mehrere Tabellen zu erreichen. (ACID)-Transaktionen eignen sich für Workloads wie die Verarbeitung von Finanztransaktionen oder die Ausführung von Bestellungen. DynamoDB passt sich umgehend den steigenden oder sinkenden Anforderungen Ihrer Workloads an. So können Sie Ihre Datenbank effizient auf die Marktbedingungen, wie etwa Handelszeiten, abstimmen.

  • Spieleanwendungen – Als Spielehersteller können Sie DynamoDB für alle Bereiche von Gaming-Plattformen verwenden, z. B. Spielstatus, Spielerdaten, Sitzungsverlauf und Bestenlisten. Entscheiden Sie sich für DynamoDB wegen seiner Skalierbarkeit, konsistenten Leistung und der Benutzerfreundlichkeit seiner Serverless-Architektur. 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 auf und ab (ohne Kaltstart auf Null). Durch diese Skalierbarkeit wird die Effizienz Ihrer Architektur optimiert, ganz gleich, ob Sie bei hohem Datenverkehr aufskalieren 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. Außerdem nutzen sie DynamoDB, um Benutzer-Watchlist- und Bookmarking-Dienste 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 flexibel an Workload-Änderungen an und ermöglicht so Streaming-Media-Anwendungsfälle, die alle Nachfrageanforderungen erfüllen können.

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

Funktionen von DynamoDB

Multiaktive Replikation mit globalen Tabellen

Globale Tabellen ermöglichen eine multiaktive Replikation Ihrer Daten für alle 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 multiregionalen, multiaktiven Datenbank, ohne dass eine eigene Replikationslösung erstellt und gepflegt werden muss. 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 (ACID)-Transaktionsunterstützung 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 Datenänderungen für ereignisgesteuerte Architekturen

DynamoDB unterstützt das Streaming von Datensätzen für Änderungsdaten auf Elementebene in nahezu Echtzeit. Dafür bietet DynamoDB zwei Streaming-Modelle: DynamoDB Streams und Kinesis Data Streams für DynamoDB. Wenn eine Anwendung Elemente in einer Tabelle erstellt, aktualisiert oder löscht, zeichnet Streams eine zeitgeordnete Reihenfolge aller Änderungen auf Elementebene nahezu in Echtzeit auf. Dies macht DynamoDB Streams ideal für Anwendungen mit ereignisgesteuerter Architektur, um die Änderungen aufzunehmen und darauf zu reagieren.

Sekundäre Indizes

DynamoDB bietet die Möglichkeit, sowohl globale als auch lokale sekundäre Indizes zu erstellen, mit denen Sie die Tabellendaten über einen alternativen Schlüssel abfragen können. Mit diesen sekundären Indizes können Sie auf Daten mit anderen Attributen als dem Primärschlüssel zugreifen. Dies bietet Ihnen maximale Flexibilität beim Datenzugriff.

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 Service-Integrationen beschrieben, die Sie mit DynamoDB durchführen können:

Serverless-Integrationen

Um end-to-end serverlose Anwendungen zu erstellen, lässt sich DynamoDB nativ in eine Reihe von serverlosen Anwendungen integrieren. AWS-Services So können Sie DynamoDB beispielsweise in AWS Lambda integrieren, um Auslöser zu erstellen – Codeteile, die automatisch auf Ereignisse in DynamoDB Streams reagieren. Mit Auslösern 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-Datenstrom verarbeitet.

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

Importieren und Exportieren von Daten in Amazon S3

Durch die Integration von DynamoDB in Amazon S3 können Sie Daten für Analysen und Machine Learning einfach in einen Amazon-S3-Bucket exportieren. DynamoDB unterstützt vollständige Tabellenexporte und inkrementelle Exporte von geänderten, aktualisierten oder gelöschten Daten aus einem bestimmten Zeitraum. Sie können auch Daten aus Amazon S3 in eine neue DynamoDB-Tabelle importieren.

Null-ETL-Integration

DynamoDB unterstützt die Zero-ETL-Integration mit Amazon Redshift und die Verwendung einer OpenSearch Ingestion-Pipeline mit Amazon DynamoDB. Durch diese Integrationen lassen sich komplexe Analysen ausführen und erweiterte Suchfunktionen für DynamoDB-Tabellendaten verwenden. Sie können beispielsweise eine Volltext- und Vektorsuche sowie eine semantische Suche in Ihren DynamoDB-Daten durchführen. Null-ETL-Integrationen wirken sich nicht auf Produktionsworkloads aus, die in DynamoDB ausgeführt werden.

Caching

DynamoDB Accelerator (DAX) ist ein vollständig verwalteter, hoch verfügbarer Caching-Service für DynamoDB. DAX bietet eine bis zu 10-fache Leistungssteigerung – von Millisekunde zu Mikrosekunde – sogar bei Millionen von Anfragen pro Sekunde. DAX fügt Ihren DynamoDB-Tabellen eigenständig speicherinterne Beschleunigung hinzuzufügen, ohne dass Sie sich um Cache-Invalidierung, das Ausfüllen von Daten oder die Clusterverwaltung kümmern müssen.

Sicherheit

DynamoDB nutzt IAM, um einen sicheren Zugriff auf Ressourcen zu ermöglichen. Mit IAM können Sie Berechtigungen, die festlegen, welche DynamoDB-Benutzer auf Ressourcen zugreifen dürfen, zentral verwalten. Sie verwenden IAM, um zu steuern, wer authentifiziert (angemeldet) und autorisiert (Berechtigungen besitzt) ist, Ressourcen zu nutzen. Durch die Verwendung von IAM gibt es keine Benutzernamen oder Passwörter für den Zugriff auf DynamoDB. Dies vereinfacht Ihren Sicherheitsstatus, da Sie keine komplizierten Richtlinien für die Passwortrotation verwalten müssen. Mit IAM können Sie auch eine differenzierte Zugriffskontrolle aktivieren, um Autorisierungen auf Attributebene zu gewähren. Außerdem lassen sich 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 Kundendaten im Ruhezustand. Durch Verschlüsselung im Ruhezustand wird die Sicherheit Ihrer Daten erhöht, indem Verschlüsselungsschlüssel verwendet werden, die in AWS Key Management Service (AWS KMS) gespeichert sind. 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 liefert weiterhin dieselbe Latenz im einstelligen Millisekundenbereich, die Sie gewohnt sind, und alle DynamoDB-Abfragen funktionieren nahtlos für Ihre 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 Aufpreis verfügbar. Für eine clientseitige Verschlüsselung können Sie das AWS Database Encryption SDK verwenden.

DynamoDB erfüllt außerdem verschiedene Compliance-Standards, darunter HIPAA, PCI DSS und DSGVO, sodass Sie gesetzliche Anforderungen einhalten können.

Ausfallsicherheit

Standardmäßig repliziert DynamoDB Ihre Daten automatisch über drei Availability Zones hinweg, um für eine lange Haltbarkeit und ein Verfügbarkeits-SLA von 99,99 % zu sorgen. Außerdem bietet DynamoDB zusätzliche Funktionen, mit deren Hilfe Sie Ihre Ziele für Geschäftskontinuität und Notfallwiederherstellung erreichen können.

Mit folgenden Funktionen unterstützt DynamoDB Ihre Anforderungen in Bezug auf Ausfallsicherheit und Datensicherung:

Globale Tabellen

Globale DynamoDB-Tabellen ermöglichen ein SLA mit einer Verfügbarkeit von 99,999 % und Ausfallsicherheit in mehreren Regionen. Dies hilft Ihnen, robuste Anwendungen zu erstellen und sie für das niedrigste Recovery Time Objective (RTO) und Recovery Point Objective (RPO) zu optimieren. Globale Tabellen lassen sich auch in AWS Fault Injection Service (AWS FIS) integrieren, um Fehlerinjektionstests für Ihre globalen Tabellenworkloads durchzuführen. Dazu gehört 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. Der Wiederherstellungszeitraum kann auf einen Wert zwischen 1 und 35 Tagen festgelegt werden.

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

On-Demand-Backup und Wiederherstellung

Sie können die Funktion On-Demand-Sicherung und Wiederherstellung nutzen, um vollständige Sicherungen einer Tabelle für die langfristige Aufbewahrung und Archivierung für behördliche Compliance-Anforderungen zu erstellen. Sicherungen wirken sich nicht auf die Leistung der Tabelle aus. Zudem können Sie 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 AWS-Managementkonsole, AWS Command Line InterfaceNoSQL-Workbench für DynamoDB, oder DynamoDB verwenden. APIs

Weitere Informationen finden Sie unter Zugreifen auf DynamoDB.

DynamoDB – Preise

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. DynamoDB bietet zwei Kapazitätsmodi mit spezifischen Abrechnungsoptionen für die Verarbeitung von Lese- und Schreibvorgängen für Ihre Tabellen: On-Demand und Bereitgestellt.

DynamoDB ist auch im Kontingent „Immer kostenlos“ mit 25 GB Speicherplatz enthalten. Darüber hinaus beinhaltet das Kontingent „Immer kostenlos“ 25 bereitgestellte Schreib- und 25 bereitgestellte Lesekapazitätseinheiten (WCU, RCU), was für die Verarbeitung von 200 Millionen Anfragen pro Monat ausreicht.

Weitere Informationen finden Sie unter Amazon DynamoDB – Preise.

Erste Schritte mit DynamoDB

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

  • Erste Schritte mit DynamoDB – erläutert die Einrichtung von DynamoDB, die Erstellung von Beispieltabellen und das Hochladen von Daten. Dieses Thema enthält auch Informationen zur Ausführung einiger grundlegender Datenbankoperationen mit der AWS-Managementkonsole, AWS CLI, NoSQL Workbench und DynamoDB. APIs

  • DynamoDB-Kernkomponenten – beschreibt die grundlegenden DynamoDB-Konzepte.

  • Bewährte Methoden für Design und Architektur mit DynamoDB – Empfehlungen zum NoSQL-Design, zu DynamoDB Well-Architected Lens, zum Tabellendesign und zu verschiedenen anderen DynamoDB-Funktionen. Mithilfe dieser bewährten Methoden können Sie bei der Arbeit mit DynamoDB die Leistung maximieren und die Durchsatzkosten 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 Kontingents „Immer kostenlos“ absolvieren.

Informationen zu Ressourcen, Tools und Strategien für die Migration zu DynamoDB finden Sie unter Migrating to DynamoDB. Aktuelle Blogs und Whitepaper finden Sie unter Amazon DynamoDB resources.