Amazon DynamoDB – Häufig gestellte Fragen

Über Amazon DynamoDB

DynamoDB ist ein schneller und flexibler nicht relationaler Datenbankservice mit hoher Skalierbarkeit. Mit DynamoDB überlassen Sie den Kunden die administrativen Aufgaben hinsichtlich des Betriebs und der Skalierung verteilter Datenbanken auf AWS. So müssen Sie sich keine Gedanken um die Bereitstellung von Hardware, deren Einrichtung und Konfiguration, die Planung der Durchsatzkapazität, die Replikation, Software-Patches oder die Cluster-Skalierung machen.

DynamoDB löst eine der größten Herausforderungen der Skalierung von Datenbanken: die Verwaltung der Datenbanksoftware und die zum Ausführen erforderliche Hardware-Bereitstellung. Sie können in wenigen Minuten eine nicht-relationale Datenbank bereitstellen. DynamoDB skaliert die Durchsatzkapazität automatisch und bewältigt so mühelos sämtliche Auslastungsanforderungen. Wenn Ihre Tabelle größer wird, partitioniert und repartitioniert die Datenbank Ihre Daten. Außerdem repliziert DynamoDB synchron Daten an mehreren Standorten einer AWS-Region und erzielt so eine hohe Verfügbarkeit und Datenbeständigkeit.

Beim Lesen der Daten von DynamoDB können die Benutzer angeben, ob der Lesevorgang "Eventually Consistent" (schließlich konsistent) oder "Strongly Consistent" (stark konsistent) sein soll:

  • Eventually Consistent-Lesevorgänge (Standard) – Mit dieser Option wird der Lesedurchsatz optimiert. Bei dieser Art des Lesevorgangs sind eventuell erst vor kurzem abgeschlossene Schreibvorgänge noch nicht sichtbar. Alle Datenkopien sind in der Regel innerhalb 1 Sekunde konsistent. Wenn Sie also kurze Zeit warten, bevor Sie einen Lesevorgang ausführen, sollten die aktualisierten Daten angezeigt werden.
  • Strongly Consistent-Lesevorgänge – Zusätzlich zum Eventually Consistent-Lesevorgang (schließlich konsistent) können Sie mit DynamoDB auch einen Strongly Consistent-Lesevorgang (stark konsistent) auswählen, wenn Ihre Anwendung oder ein Element Ihrer Anwendung dies erfordert. Bei dieser Art des Lesevorgangs wird ein Ergebnis zurückgegeben, das alle erfolgreichen Schreibvorgänge einbezieht, die vor dem Lesevorgang erfolgt sind.
  • ACID-Transaktionen – DynamoDB-Transaktionen bieten Entwicklern Atomität, Konsistenz, Isolation und Haltbarkeit (ACID) für eine oder mehrere Tabellen innerhalb eines einzelnen AWS-Kontos und einer Region. Sie können Transaktionen beim Erstellen von Anwendungen verwenden, die koordinierte Einfügungen, Löschungen oder Aktualisierungen mehrerer Elemente als Teil eines einzelnen logischen Geschäftsvorgangs erfordern.

Erste Schritte

DynamoDB unterstützt GET/PUT-Operationen unter Verwendung eines benutzerdefinierten Primärschlüssels. Der Primärschlüssel ist das einzige Attribut, das für Tabelleneinträge erforderlich ist. Sie legen ihn beim Erstellen einer Tabelle fest und er identifiziert dann jeden Eintrag eindeutig. DynamoDB bietet auch flexible Abfragen, indem Sie Abfragen auf nicht primäre Schlüsselattribute unter Verwendung von globalen sekundären Indizes und lokalen sekundären Indizes verwenden können.

Ein Primärschlüssel kann entweder ein Einzelattribut-Partitionsschlüssel oder ein zusammengesetzter Partitionssortierschlüssel sein. Ein Beispiel für einen Partitionsschlüssel mit einem einzigen Attribut wäre UserID. Damit könnten Sie Daten für einen Eintrag, der einer bestimmten Benutzer-ID zugewiesen wurde, schnell lesen und schreiben.

Ein zusammengesetzter Partitions-Bereichsschlüssel wird als Partitions-Schlüsselelement und als Sortierschlüsselelement indiziert. Dieser mehrteilige Schlüssel bewahrt die Hierarchie zwischen den ersten und zweiten Elementwerten. Beispielsweise könnte ein zusammengesetzter Partitionssortierschlüssel eine Kombination aus UserID (Partition) und Timestamp (Sortierung) sein. Wenn das Partitions-Schlüsselelement konstant gehalten wird, können Sie im Sortierschlüsselelement nach Elementen suchen. Eine solche Suche würde es Ihnen ermöglichen, die Abfrage-API zu verwenden, um z. B. alle Elemente für eine einzelne UserID über eine Reihe von Zeitstempeln abzurufen.

Nachdem Sie eine Tabelle mit der DynamoDB-Konsole oder der CreateTable-API erstellt haben, können Sie die APIs PuItem oder BatchWriteItem verwenden, um Elemente einzufügen. Anschließend können Sie mit GetItem, BatchGetItem oder, wenn zusammengesetzte Primärschlüssel aktiviert sind und in Ihrer Tabelle verwendet werden, die Abfrage-API verwenden, um die Elemente abzurufen, die Sie der Tabelle hinzugefügt haben.

Ja. DynamoDB ist ein vollständig verwalteter Cloud-Service, auf den Sie über die API zugreifen können. Sie können DynamoDB für Anwendungen auf einen beliebigen Betriebssystem verwenden (etwa Linux, Windows, iOS, Android, Solaris, AIX oder HP-UX). Für den Einstieg in DynamoDB empfehlen wir die Verwendung der AWS SDKs.

Planung

Jede DynamoDB-Tabelle verfügt über einen dazugehörigen bereitgestellten Lese- und Schreibdurchsatz. Diese Durchsatzkapazität wird Ihnen nach Stunden berechnet. Beachten Sie, dass die Durchsatzkapazität nach Stunden berechnet wird. Dabei ist unerheblich, ob Sie Anforderungen an Ihre Tabelle senden oder nicht. Wenn Sie die bereitgestellte Durchsatzkapazität Ihrer Tabelle ändern möchten, können Sie dies mit der AWS-Managementkonsole, der UpdateTable-API oder der PutScalingPolicy-API für Auto Scaling tun. Des Weiteren berechnet Ihnen DynamoDB für den Datenspeicher und die standardmäßigen Internettransfergebühren für Daten.

Weitere Informationen zu den DynamoDB-Preisen finden Sie auf der DynamoDB-Preisseite.

Der maximale Durchsatz pro DynamoDB-Tabelle ist praktisch unbegrenzt. Weitere Informationen zu den geltenden Grenzwerten finden Sie unter Grenzwerte in DynamoDB. Wenn Sie eine Limiterhöhung beantragen möchten, wenden Sie sich an Amazon

Der Mindestdurchsatz, den Sie anfordern können, beträgt 1 Schreib- und 1 Lesekapazitätseinheit sowohl für die automatische Skalierung als auch für die manuelle Durchsatzbereitstellung. Diese Bereitstellung fällt unter das kostenlose Kontingent, welches 25 Schreib- und 25 Lesekapazitätseinheiten beinhaltet. Das kostenlose Kontingent gilt für das Konto und nicht für die Tabelle. Mit anderen Worten: Wenn Sie die bereitgestellten Kapazitäten für alle Ihre Tabellen zusammenzählen und die Gesamtkapazität nicht mehr als 25 Schreib– und 25 Lesekapazitätseinheiten beträgt, fällt Ihre bereitgestellte Kapazität unter das kostenlose Kontingent.

DynamoDB Standard-IA unterstützt Sie bei der Reduzierung der Gesamtkosten für Tabellen, die Daten speichern, auf die nur unregelmäßig zugegriffen wird, wie zum Beispiel Anwendungslogs, alte Social-Media-Posts, E-Commerce-Bestellübersichten und Gaming-Erfolge. Wenn Speicher Ihre dominierenden Tabellenkosten sind – Speicherkosten übersteigen 50 Prozent der Durchsatzkosten (Lese- und Schreibvorgänge) durchweg – dann ist die DynamoDB Standard-IA-Tabellenklasse die wirtschaftlichste Wahl für Sie. Erfahren Sie mehr über die Preise für DynamoDB Standard-IA auf der DynamoDB-Preisseite.

DynamoDB-Standard-IA-Tabellen unterstützen ebenso wie DynamoDB-Standardtabellen alle bestehenden DynamoDB-Features wie Globale Tabellen, Sekundäre Indizes, On-Demand-Backup, zeitpunktbezogene Wiederherstellung (PITR). DynamoDB-Standard-IA-Tabellen verfügen ebenso wie DynamoDB-Standardtabellen über eine integrierte Integration mit anderen AWS-Services. Sie können beispielsweise die Leistung Ihrer DynamoDB-Standard-IA-Tabellen mit Amazon CloudWatch überwachen, AWS-CloudFormation-Vorlagen verwenden, um Ihre DynamoDB-Standard-IA-Tabellen bereitzustellen und zu verwalten, einen Cache mit DynamoDB Accelerator (DAX) hinzufügen, um die Leistung zu beschleunigen, Ihre Änderungsdatensätze zu Amazon Kinesis Data Streams streamen und Ihre DynamoDB-Standard-IA-Tabellendaten nach Amazon Simple Storage Service (Amazon S3) exportieren.

Funktionsweise

Weitere Informationen zu Datenmodellen und APIs finden Sie unter Amazon DynamoDB: Funktionsweise.

Weitere Informationen zur Skalierbarkeit, Verfügbarkeit und Haltbarkeit finden Sie unterAmazon DynamoDB – Produktdetails.

Weitere Informationen zur automatischen Skalierung von DynamoDB finden Sie unter Automatisches Verwalten der Durchsatzkapazität mit DynamoDB Auto Scaling.

Weitere Informationen über DynamoDB-Sicherheit und -Kontrolle finden Sie unter Identitäts- und Zugriffsverwaltung in Amazon DynamoDB.