Amazon DynamoDB ist ein vollständig verwalteter NoSQL-Datenbank-Service, der schnelle und planbare Leistung mit nahtloser Skalierbarkeit bereitstellt. Mit Amazon DynamoDB geben Sie die administrativen Aufgaben in Bezug auf den Betrieb und die Skalierung verteilter Datenbanken an AWS weiter. So müssen Sie sich keine Gedanken um die Bereitstellung von Hardware, um deren Einrichtung und Konfiguration, um die Replikation, um Software-Patches oder um die Cluster-Skalierung machen.
Amazon DynamoDB bietet die Lösung für eine der größten Herausforderungen beim Skalieren von Datenbanken: die Verwaltung der Datenbanksoftware und die zum Ausführen erforderliche Hardware-Bereitstellung. Unsere Kunden können in wenigen Minuten eine nicht-relationale Datenbank bereitstellen. DynamoDB partitioniert und repartitioniert Ihre Daten und stellt weitere Serverkapazitäten zur Verfügung, die bei wachsender Tabellengröße oder durch eine Erweiterung des bereitgestellten Durchsatzes erforderlich werden. Außerdem repliziert Amazon DynamoDB synchron Daten in mehreren Standorten einer AWS-Region und erzielt so eine hohe Verfügbarkeit und Datenbeständigkeit.
Amazon DynamoDB speichert drei geografisch verteilte Kopien jeder Tabelle, um eine hohe Verfügbarkeit und Datenbeständigkeit zu gewährleisten. Die Lesekonsistenz bezeichnet die Art und zeitliche Abstimmung, mit der sich erfolgreiche Schreib- oder Aktualisierungsvorgänge eines Datenelements in einem anschließenden Lesevorgang dieses Elements widerspiegeln. Amazon DynamoDB bietet logische Funktionen, mit denen Sie die gewünschten Konsistenzmerkmale für alle Lesevorgänge der Anwendung festlegen können.
Beim Lesen der Daten von Amazon DynamoDB können die Benutzer angeben, ob der Lesevorgang "Eventually Consistent" (schließlich konsistent) oder "Strongly Consistent" (stark konsistent) sein soll.
Amazon DynamoDB unterstützt schnelle Updates im Hintergrund. Sie können den Wert numerischer Attribute in einer Zeile anhand eines einzigen API-Aufrufs erhöhen oder verringern. Sie können einen Zeichenfolgesatz ebenfalls atomar hinzufügen oder entfernen. Weitere Informationen zu atomaren Updates finden Sie in der Dokumentation.
Amazon DynamoDB wird ausschließlich auf Solid State-Laufwerken (SSDs) ausgeführt. Durch den Einsatz von Solid State-Laufwerken erreichen wir unsere gewünschten Ergebnisse: planbaren Reaktionszeiten mit geringen Latenzen für die Speicherung und für den Zugriff auf beliebig große Datenmengen. Aufgrund der hohen E-/A-Leistung von Solid State-Laufwerken können wir umfangreiche Arbeitslasten kosteneffizient bearbeiten und diesen effizienten Service kostengünstig anbieten.
Wie bei jedem Produkt weisen wir interessierte Kunden für Amazon DynamoDB auf die Gesamtkosten einer Lösung hin. Es geht nicht nur um einen einzelnen Preis. Bei den Gesamtkosten für die Bereitstellung einer Datenbank müssen die erforderlichen Datenverkehrsanforderungen und die Menge der zu speichernden Daten berücksichtigt werden. Die meisten Anforderungen an Datenbanken beinhalten hohe E-/A-Vorgänge pro gespeichertem GB (d. h. hohe Lese- und Schreibvorgänge pro Sekunde). Amazon DynamoDB wird auf Solid State-Laufwerken ausgeführt, was die Kosten im Vergleich zu rotierenden Laufwerken pro gespeichertem GB erhöht. Wir können dadurch aber sehr geringe Anfragekosten anbieten. Wenn man eine gewöhnliche Datenbankarbeitslast betrachtet sind wir daher der Ansicht, dass die Gesamtkosten für die Nutzung des DynamoDB-Service auf SSD-Basis im Allgemeinen niedriger liegen werden als die Kosten einer herkömmlichen relationalen oder nicht-relationalen Datenbank auf rotierenden Laufwerken. Wenn Sie große Datenmengen speichern möchten, auf die nur selten zugegriffen wird, ist DynamoDB eventuell nicht die richtige Lösung für Sie. Wir empfehlen Ihnen in diesem Fall die Nutzung von S3.
Beachten Sie außerdem, dass die Speicherkosten die Kosten für mehrere Kopien der Datenelemente an mehreren Standorten in einer AWS-Region beinhalten.
Nein. DynamoDB bietet eine nahtlose Skalierung. Sie können also klein anfangen und je nach Ihren Anforderungen die Skalierung erweitern oder verringern. Wenn Sie sich für alle Skalierungen eine schnelle und planbare Leistung wünschen, ist DynamoDB für Sie wahrscheinlich genau die richtige Lösung.
Wechseln Sie zur Seite Amazon DynamoDB – Übersicht und klicken Sie auf "Jetzt anmelden", um noch heute mit Amazon DynamoDB zu arbeiten. Danach können Sie mit Amazon DynamoDB beginnen. Verwenden Sie dazu die AWS Management Console oder die Amazon DynamoDB-APIs. Wenn Sie die AWS Management Console verwenden, können Sie mit Amazon DynamoDB eine Tabelle erstellen und sich die Lösung mit nur wenigen Klicks genauer ansehen.
Amazon DynamoDB unterstützt Schlüsselwert-GET/PUT-Operationen unter Verwendung eines benutzerdefinierten Primärschlüssels. Der Primärschlüssel ist das einzige erforderliche Attribut für Elemente in einer Tabelle und identifiziert jedes Element eindeutig. Sie legen den Primärschlüssel beim Erstellen einer Tabelle fest.
Ein Primärschlüssel kann entweder ein Hash-Schlüssel mit einem einzigen Attribut oder ein zusammengesetzter Hash-Bereichsschlüssel sein. Ein Hash-Primärschlüssel mit einem einzigen Attribut wäre beispielsweise "UserID". Damit könnten Sie Daten für ein Element, das einer bestimmten Benutzer-ID zugewiesen wurde, schnell lesen und schreiben.
Ein zusammengesetzter Hash-Bereichsschlüssel wird als Hash-Schlüsselelement und als Bereichsschlüsselelement indiziert. Dieser mehrteilige Schlüssel bewahrt die Hierarchie zwischen den ersten und zweiten Elementwerten. Ein zusammengesetzter Hash-Bereichsschlüssel könnte beispielsweise eine Kombination aus "UserID" (Hash) und "Timestamp" (Bereich) sein. Wenn das Hash-Schlüsselelement konstant gehalten wird, können Sie im Bereichsschlüsselelement nach Elementen suchen. Das ermöglicht die Verwendung der Query-API, beispielsweise, um alle Elemente für eine einzelne Benutzer-ID und einen Bereich von Zeitstempeln abzufragen.
Nachdem Sie mit der AWS Management Console oder der CreateTable-API eine Tabelle erstellt haben, können Sie mithilfe der PutItem- oder BatchWriteItem-APIs Elemente einfügen. Anschließend verwenden Sie GetItem, BatchGetItem oder, falls zusammengesetzte Primärschlüssel aktiviert sind und in Ihrer Tabelle verwendet werden, die Query-API, um die der Tabelle hinzugefügten Element abzurufen.
Ja. Sie können Ad-hoc-Abfragen ausführen, indem Sie unsere Scan-API mit Filterprädikaten verwenden. Die Scan API greift iterativ auf Ihren ganzen Datensatz zu und wendet die Filterbedingungen auf jede Zeile an. Da nur 1 MB Daten gleichzeitig durchsucht werden kann, müssen Sie eventuell (mithilfe eines Continuation-Tokens) mehrere Durchläufe ausführen, bis die Suche abgeschlossen werden kann. Außerdem verbraucht diese API eventuell einen großen Teil Ihres bereitgestellten Lesedurchsatzes. Daher verfügt diese Methode über nur eingeschränkte Skalierungsmöglichkeiten und es wird nicht empfohlen, dass sie sie regelmäßig in Ihrer Anwendung nutzen. Wenn Sie jedoch eine Ad-hoc-Abfrage ausführen müssen, und die durch die Iteration im gesamten Datensatz entstehenden Leistungseinbußen nicht in Kauf nehmen möchten, können Sie die Scan-API verwenden. Wenn Sie häufige Abfragemuster für nicht-primäre Schlüsselattribute bereitstellen möchten, könnten Sie auch eine andere Tabelle mit dem entsprechenden Schlüssel erstellen und die Daten redundant speichern.
Ja. Sie können eine Bedingung angeben, die zum Ausführen einer PUT-, Aktualisierungs- oder Löschoperation für ein Element erfüllt sein muss. Sie könnten beispielsweise ein Element nur dann aktualisieren, wenn es einen bestimmten Wert hat. Sie könnten ebenfalls festlegen, ein Element nur dann mit einer PUT-Operation in die Tabelle einzufügen, wenn für den angegebenen Primärschlüssel kein Datensatz vorhanden ist. Mit bedingten Operationen können Benutzer optimistische Gleichzeitigkeitssteuerungssysteme unter DynamoDB implementieren. Weitere Informationen zu bedingten Operationen finden Sie in unserer Dokumentation.
Ja. Mit Amazon DynamoDB sind atomare inkrementelle und dekrementale Operationen für Skalarwerte möglich.
Die webbasierten Anwendungen von heute erstellen und verbrauchen große Datenmengen. Beispielsweise beginnt ein Online-Spiel nur mit wenigen tausend Benutzern und mit einer geringen Datenbankarbeitslast von nur 10 Schreib- und 50 Lesevorgängen pro Sekunde. Wenn das Spiel jedoch erfolgreicher wird, wächst seine Benutzeranzahl möglicherweise schnell auf mehrere Millionen an und erzeugt zehntausende (oder sogar hunderttausende) von Schreib- und Lesevorgängen pro Sekunde. Auch können pro Tag mehrere Terabyte an Daten erzeugt werden. Wenn Sie Ihre Anwendungen für Amazon DynamoDB entwickeln, können Sie klein anfangen und Ihre Anforderungskapazität für eine Tabelle erweitern, sobald Ihre Bedarf steigt und zwar, ohne dass es dabei zu Ausfallzeiten kommt. Für die von Ihnen bereitgestellte Anforderungskapazität zahlen Sie sehr kostengünstige Preise. Amazon DynamoDB kümmert sich zudem um die Partitionierung Ihrer Daten und des Datenverkehrs über ausreichende Serverkapazitäten, die Ihren Anforderungen entsprechen. Amazon DynamoDB verwaltet die Datenbank – Sie müssen Ihre Daten lediglich speichern und abfragen. Durch die automatische Replikation und die Failover-Lösungen wird eine integrierte Fehlertoleranz, eine hohe Verfügbarkeit und Datenbeständigkeit gewährleistet. Mit Amazon DynamoDB haben Sie die beruhigende Sicherheit, dass Ihre Datenbank umfassend verwaltet wird und mit den Anforderungen Ihrer Anwendung mitwächst.
Amazon DynamoDB befasst sich mit den Kernproblemen von Datenbankskalierbarkeit, -verwaltung, -leistung und -zuverlässigkeit, verfügt jedoch nicht über den gesamten Funktionsumfang einer relationalen Datenbank. Komplexe relationale Abfragen (z. B. Joins) oder komplexe Transaktionen werden nicht unterstützt. Wenn Sie für Ihre Anwendung diese Funktionalität benötigen oder wenn Kompatibilität mit einer vorhandenen relationalen Engine erforderlich ist, ist es eventuell besser, wenn Sie eine relationale Engine mit Amazon RDS oder Amazon EC2 ausführen. Relationale Engines stellen zwar umfangreiche Features und Funktionen bereit, aber das Skalieren einer Arbeitslast über eine einzelne relationale Instanz hinaus ist sehr komplex und erfordert viel Zeit und Fachkenntnis. Wenn Sie also damit rechnen, dass Sie Ihre neue Anwendung skalieren müssen und keine relationalen Funktionen benötigen, ist Amazon DynamoDB wahrscheinlich besser für Sie geeignet.
Bei beiden Services handelt es sich um nicht-relationale Datenbanken, bei denen die Verwaltung der Datenbank entfällt. Amazon DynamoDB legt den Schwerpunkt auf nahtlose Skalierbarkeit und auf schnelle, planbare Leistung. Der Service wird auf Solid State-Laufwerken (SSDs) ausgeführt, was zu Reaktionszeiten mit geringen Latenzen führt. Es gibt zudem keinerlei Einschränkungen in Bezug auf die Anforderungskapazität oder die Speicherkapazität für eine bestimmte Tabelle. Das kommt daher, weil Amazon DynamoDB Ihre Daten und die Arbeitslast automatisch auf einer ausreichenden Anzahl von Servern partitioniert, um den von Ihnen bereitgestellten Skalierungsanforderungen gerecht zu werden. Im Gegensatz dazu, hat eine Tabelle in Amazon SimpleDB eine strenge Speicherbeschränkung von 10 GB und ist in der erreichbaren Anforderungskapazität eingeschränkt (meist durch weniger als 25 Schreibvorgänge/Sekunde). Zudem müssen Sie die Partitionierung und Repartitionierung Ihrer Daten über weitere SimpleDB-Tabellen selbst verwalten, wenn Sie skalieren möchten. SimpleDB hat zwar Einschränkungen bei der Skalierung, eignet sich jedoch eventuell gut für kleinere Arbeitslasten, bei denen es auf eine Abfrageflexibilität ankommt. Amazon SimpleDB indiziert automatisch alle Elementattribute und unterstützt auf diese Weise die Abfrageflexibilität – jedoch auf Kosten der Leistung und Skalierung.
Im DynamoDB-Blog von Amazon CTO Werner Vogels erhalten Sie weitere Informationen zur nicht-relationalen Datenbanktechnologie bei Amazon.
Amazon DynamoDB speichert strukturierte Daten indiziert nach dem Primärschlüssel und ermöglicht einen Schreib- und Lesezugriff auf Elemente von 1 Byte bis zu 64 KB mit geringen Latenzen. Amazon S3 speichert unstrukturierte BLOBs und eignet sich zum Speichern großer Objekte mit bis zu 5 TB. Zur Kostenoptimierung sollten bei sämtlichen AWS-Dienstleistungen größere Objekte oder Datensätze, auf die nur selten zugegriffen wird, in Amazon S3 gespeichert werden, während kleinere Datenelemente und Datei-Pointer (z. B. auf Amazon S3-Objekte) am besten in Amazon DynamoDB gespeichert werden.
Bei Amazon DynamoDB können Sie den Anforderungsdurchsatz festlegen, den Ihre Tabelle erreichen soll. Der Service stellt im Hintergrund die Ressourcen bereit, mit denen die erforderliche Durchsatzrate erreicht wird. Bei uns müssen Sie sich also keine Gedanken über Instanzen, Hardware, Arbeitsspeicher und andere Faktoren machen, die Auswirkungen auf Ihre Durchsatzrate haben – Sie müssen uns lediglich mitteilen, welchen Durchsatz Sie erzielen möchten. Das ist das bereitgestellte Durchsatzmodell des Service.
Bei Amazon DynamoDB können Sie Ihre Durchsatzanforderungen in Bezug auf die Lesekapazität und Schreibkapazität in Ihrer Tabelle festlegen. Beim Erstellen einer Tabelle, geben Sie Ihre erforderlichen Lese- und Schreibkapazitätsanforderungen an. Daraufhin partitioniert Amazon DynamoDB automatisch die entsprechende Anzahl von Ressourcen und reserviert diese, damit Sie Ihren Durchsatz erreichen. Überlegen Sie sich bei der Entscheidung für die entsprechenden Lese- und Schreibdurchsatzwerte die Anzahl der Lese- und Schreib-API-Aufrufe auf Datenebene, die pro Sekunde erfolgen sollen. Falls Sie zu einem bestimmten Zeitpunkt erwarten, dass der Datenverkehr so anwachsen wird, dass Ihr bereitgestellter Durchsatz überschritten wird, können Sie Ihre bereitgestellten Durchsatzwerte ganz einfach über die AWS Management Console oder die Amazon DynamoDB-APIs aktualisieren. Sie können die bereitgestellten Durchsatzwerte für eine Tabelle auch verringern, wenn die Nachfrage abnimmt. Amazon DynamoDB bleibt verfügbar, während die Durchsatzrate vergrößert oder verkleinert wird.
Beim Speichern von Daten teilt Amazon DynamoDB eine Tabelle in mehrere Partitionen auf und verteilt die Daten je nach dem Hash-Schlüsselelement des Primärschlüssels. Bei der Zuweisung von Kapazitätsressourcen verwendet Amazon DynamoDB ein relativ zufälliges Zugriffsmuster für alle Primärschlüssel. Sie sollten Ihr Datenmodell so einrichten, dass Ihre Anforderungen zu einer ziemlich gleichmäßigen Verteilung des Datenverkehrs auf die Primärschlüssel führt. Wenn eine Tabelle über eine sehr kleine Anzahl von Hash-Schlüsselelementen verfügt (vielleicht sogar über ein einziges, sehr häufig verwendetes Hash-Schlüsselelement), wird der Verkehr auf eine kleine Anzahl von Partitionen konzentriert – möglicherweise auf nur eine Partition. Wenn die Arbeitslast unausgeglichen ist, also sich unverhältnismäßig auf einen oder einige wenige Partitionen konzentriert, werden bei den Operationen nicht die insgesamt bereitgestellten Durchsatzraten erreicht. Den besten Durchsatz erzielen Sie mit Amazon DynamoDB, indem Sie Tabellen erstellen, bei denen das Hash-Schlüsselelement über eine große Anzahl bestimmter Werte verfügt und die Werte ziemlich einheitlich und so zufällig, wie möglich, abgefragt werden. Ein Beispiel für einen guten Primärschlüssel ist "CustomerID", wenn die Anwendung viele Kunden hat und Anforderungen an verschiedene Kundendatensätze mehr oder weniger gleichförmig sind. Ein Beispiel für einen weniger guten Primärschlüssel ist "Produktkategoriename", wobei bestimmte Produktkategorien beliebter als andere sind.
Mit einer Schreibkapazitätseinheit können Sie einen Schreibvorgang pro Sekunde für Elemente von bis zu 1 KB Größe ausführen. Mit einer Lesekapazitätseinheit können Sie einen "Strongly Consistent"-Lesevorgang pro Sekunde (oder zwei "Eventually Consistent"-Lesevorgänge pro Sekunde) für Elemente von bis zu 1 KB Größe ausführen. Für größere Elemente ist eine höhere Kapazität erforderlich. Sie können die Anzahl der für Sie erforderlichen Kapazitätseinheiten für Lese- und Schreibvorgänge berechnen, indem Sie die Anzahl der erwarteten erforderlichen Lese- oder Schreibvorgänge pro Sekunde mit der Größe der einzelnen Elemente in KB multiplizieren (aufgerundet auf die nächste ganze Zahl).
Für Schreibvorgänge erforderliche Kapazitätseinheiten = Anzahl der Elementschreibvorgänge pro Sekunde x Elementgröße in KB (aufgerundet auf die nächste ganze Zahl)
Für Lesevorgänge erforderliche Kapazitätseinheiten* = Anzahl der Elementlesevorgänge pro Sekunde x Elementgröße in KB (aufgerundet auf die nächste ganze Zahl)
* Wenn Sie "Eventually Consistent"-Lesevorgänge verwenden, erhalten Sie in Bezug auf die Lesevorgänge pro Sekunde den doppelten Durchsatz.
Wenn die einzelnen Elemente weniger als 1 KB groß sind, können Sie mit jeder Lesekapazitätseinheit einen Lesevorgang pro Sekunde und mit jeder Schreibkapazitätseinheit einen Schreibvorgang pro Sekunde ausführen. Beispiel: Wenn Ihre Elemente eine Größe von 512 Byte haben und Sie 100 Elemente pro Sekunde aus Ihrer Tabelle lesen möchten, müssen Sie 100 Lesekapazitätseinheiten bereitstellen.
Sind Ihre Elemente größer als 1 KB, müssen sie die erforderliche Anzahl der Lese- und Schreibkapazitätseinheiten berechnen. Beispiel: Wenn Ihre Elemente eine Größe von 1,5 KB haben und Sie 100 Lesevorgänge pro Sekunde vornehmen möchten, müssen Sie 100 (Lesevorgänge pro Sekunde) x 2 (1,5 KB aufgerundet auf die nächste ganze Zahl) = 200 Lesekapazitätseinheiten bereitstellen.
Beachten Sie, dass die erforderliche Anzahl von Lesekapazitätseinheiten durch die Anzahl der gelesenen Elemente pro Sekunde bestimmt wird und nicht durch die Anzahl der API-Aufrufe. Wenn Sie beispielsweise 500 Elemente pro Sekunde in Ihrer Tabelle lesen müssen und Ihre Elemente kleiner oder gleich 1 KB sind, benötigen Sie 500 Lesekapazitätseinheiten. Dabei ist unerheblich, ob Sie 500 einzelne GetItem-Aufrufe oder 50 BatchGetItem-Aufrufe ausführen, die jeweils 10 Elemente zurückgeben.
Amazon DynamoDB verwendet ein relativ zufälliges Zugriffsmuster für alle Primärschlüssel. Sie sollten Ihr Datenmodell so einrichten, dass Ihre Anforderungen zu einer ziemlich gleichmäßigen Verteilung des Datenverkehrs auf die Primärschlüssel führt. Wenn Sie ein sehr ungleichmäßiges oder verzerrtes Zugriffsmuster haben, können Sie eventuell Ihren bereitgestellten Durchsatz nicht erreichen.
Beim Speichern von Daten teilt Amazon DynamoDB eine Tabelle in mehrere Partitionen auf und verteilt die Daten je nach dem Hash-Schlüsselelement des Primärschlüssels. Der zu einer Tabelle gehörige bereitgestellte Durchsatz wird auf die Partitionen aufgeteilt. Der Durchsatz jeder Partition wird unabhängig auf Grundlage des zugewiesenen Kontingents verwaltet. Eine gemeinsame Nutzung des bereitgestellten Durchsatzes über die Partitionen hinweg findet nicht statt. Daher eignet sich eine Tabelle in Amazon DynamoDB am besten, um die bereitgestellten Durchsatzraten zu erreichen, falls die Arbeitslast ziemlich gleichmäßig auf die Hash-Schlüsselwerte verteilt ist. Durch die Verteilung von Anforderungen auf Hash-Schlüsselwerte werden die Anforderungen auf die Partitionen verteilt. So können Sie Ihren gesamten bereitgestellten Durchsatz erreichen.
Wenn Sie über die Primärschlüssel verteilt ein ungleichmäßiges Arbeitslastmuster haben, können Sie Ihre bereitgestellte Durchsatzrate eventuell nicht erreichen. Stellen Sie Ihre Durchsatzanforderungen durch eine weitere Erhöhung Ihres bereitgestellten Durchsatzes zufrieden. Dadurch erhalten Sie für jede Partition mehr Durchsatz. Es wird jedoch empfohlen, dass Sie Ihr Anfragemuster oder Ihr Datenmodell ändern, damit Sie ein Zugriffsmuster erzielen, das relativ zufällig über die Primärschlüssel verteilt ist.
DynamoDB wurde speziell für eine unbegrenzte Skalierung konzipiert. Wenn Sie jedoch Durchsatzraten von 10.000 Schreib- und Lesekapazitätseinheiten für eine einzelne Tabelle überschreiten möchten, müssen Sie sich zuerst mithilfe dieses Online-Formulars an Amazon wenden. Wenn Sie mehr als 20.000 Schreib- oder Lesekapazitätseinheiten von einem einzigen Abonnentenkonto bereitstellen möchten, wenden Sie sich bitte zuerst über das zuvor beschriebene Konto an uns.
Der geringste bereitgestellte Durchsatz, den Sie anfordern können, beträgt 1 Schreib- und 1 Lesekapazitätseinheit.
Dieser fällt unter das kostenlose Kontingent, welches 5 Schreib- und 10 Lesekapazitätseinheiten bereitstellt. 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 5 Schreib- und 10 Lesekapazitätseinheiten beträgt, fällt Ihre bereitgestellte Kapazität unter das kostenlose Kontingent.
Ja. Amazon DynamoDB ermöglicht Ihnen das Ändern Ihrer bereitgestellten Durchsatzrate durch einen einzigen Aufruf der "UpdateTable"-API um bis zu 100 %. Wenn Sie Ihren Durchsatz um mehr als 100 % ändern möchten, rufen Sie "UpdateTable" ganz einfach erneut auf.
Beispiel: Wenn Ihre Tabelle über 1000 bereitgestellte Schreibkapazitätseinheiten verfügt, können Sie diesen Wert nicht mit einem einzelnen API-Aufruf in 3000 ändern, da dadurch die maximal zulässige Änderung für eine einzelne "UpdateTable"-Operation überschritten würde. Wenn Sie Ihren Durchsatz von 1.000 auf 3.000 Schreibkapazitätseinheiten erhöhen möchten, rufen Sie einfach UpdateTable auf und verdoppeln Ihren Durchsatz zunächst auf 2.000. Anschließend rufen Sie UpdateTable erneut auf und erhöhen auf 3.000 Schreibvorgänge pro Sekunde.
Für jede Amazon DynamoDB-Tabelle werden die Ressourcen bereitgestellt, die für die von Ihnen beantragte Durchsatzrate erforderlich sind. So lange Ihre Tabelle diese Ressourcen nutzt, werden Ihnen die Stunden in Rechnung gestellt. Eine komplette Preisliste mit Beispielen finden Sie auf der Seite mit der Preisübersicht für DynamoDB.
Es gibt zwei Möglichkeiten zum Aktualisieren des bereitgestellten Durchsatzes einer Amazon DynamoDB-Tabelle. Sie können die Änderung in der AWS Management Console vornehmen oder Sie verwenden den UpdateTable API-Aufruf. Sie können Ihren Durchsatz mit einem einzelnen API-Aufruf um bis 100 % ändern, wie zuvor beschrieben: "Gelten Einschränkungen für das Ändern meines bereitgestellten Durchsatzes durch einen einzelnen API-Aufruf?"
Amazon DynamoDB ist weiterhin verfügbar während Ihre bereitgestellter Durchsatzrate erhöht oder verringert wird.
Sie können Ihren bereitgestellten Durchsatz so oft erhöhen, wie Sie möchten. Sie können ihn zweimal pro Tag verringern. Ein Tag basiert auf der GMT-Zeitzone (MEZ-1). Wenn Sie beispielsweise den bereitgestellten Durchsatz für Ihre Tabelle am 12. Dezember zweimal verringern, können Sie ihn für diese Tabelle erst wieder am 13. Dezember um 0:01 Uhr (GMT) ändern.
Beachten Sie, dass Sie Ihren bereitgestellten Durchsatz nicht ändern können, wenn Ihre Amazon DynamoDB-Tabelle gerade noch auf Ihre letzte Änderungsanforderung in Bezug auf den bereitgestellten Durchsatz reagiert. Verwenden Sie die AWS Management Console oder die DescribeTables-API, um den Status Ihrer Tabelle zu überprüfen. Falls der Status "CREATING", "DELETING" oder "UPDATING" lautet, können Sie den Durchsatz für Ihre Tabelle nicht anpassen. Warten Sie bitte, bis die Tabelle den Status "ACTIVE" hat und versuchen Sie es noch einmal.
Ja. Bei einer bestimmten Ressourcenzuweisung unterscheidet sich die von einer DynamoDB-Tabelle erreichbare Lesevorgangsrate für die Einstellungen "Strongly Consistent" und "Eventually Consistent". Wenn Sie "1.000 Lesekapazitätseinheiten" anfordern, weist DynamoDB ausreichend Ressourcen zu, um 1.000 "Strongly Consistent"-Lesevorgänge pro Sekunde für Elemente mit bis zu 1 KB zu erzielen. Wenn Sie 1.000 "Eventually Consistent"-Lesevorgänge für Elemente mit bis zu 1 KB erzielen möchten, müssen Sie diese Kapazität halbieren, d. h. auf 500 Lesekapazitätseinheiten. Weitere Hilfestellung zur Auswahl der passenden Durchsatzrate für Ihre Tabelle erhalten Sie in den Hinweisen zum bereitgestellten Durchsatz.
Ja. Bei einer bestimmten Ressourcenzuweisung hängt die von einer DynamoDB-Tabelle erreichbare Lesevorgangsrate von der Größe eines Elements ab. Wenn Sie den gewünschten bereitgestellten Durchsatz angeben, nimmt DynamoDB bei der Bereitstellung der Ressourcen an, dass die Elemente kleiner als 1 KB sind. Bei jeder Vergrößerung über 1 KB vergrößert sich linear auch der erforderliche Ressourcenbedarf, damit dieselbe Durchsatzrate erzielt werden kann. Wenn Sie beispielsweise eine DynamoDB-Tabelle mit 100 Schreibkapazitätseinheiten bereitgestellt haben, bedeutet das, dass Sie pro Sekunde 100 x 1 KB schreiben können oder 50 x 2 KB pro Sekunde oder 25 x 4 KB usw. Weitere Hilfestellung zur Auswahl der passenden Durchsatzrate für Ihre Tabelle erhalten Sie in den Hinweisen zum bereitgestellten Durchsatz.
Wenn Ihre Anwendung mehr Lesevorgänge oder Schreibvorgänge pro Sekunde ausführt, als die bereitgestellte Durchsatzkapazität erlaubt, werden die Anforderungen, die Ihre bereitgestellte Kapazität überschreiten, gedrosselt und Sie erhalten den Fehlercode 400. Wenn Sie beispielsweise 1.000 Schreibkapazitätseinheiten beantragt haben und versuchen 1.500 Schreibvorgänge/Sekunde von Elementen mit 1 KB auszuführen, erlaubt DynamoDB nur 1.000 Schreibvorgänge/Sekunde und gibt für alle weiteren Anforderungen den Fehlercode 400 aus. Mit CloudWatch können Sie Ihre Anforderungsrate überwachen und so sicherstellen, dass Sie stets über ausreichend bereitgestellten Durchsatz verfügen, um die erforderliche Anforderungsrate zu erzielen.
DynamoDB veröffentlicht Ihre verbrauchte Durchsatzkapazität als CloudWatch-Kennzahl. Sie können für diese Kennzahl einen Alarm festlegen, sodass Sie benachrichtigt werden, wenn Sie sich ihrer bereitgestellten Kapazität nähern.
Im Allgemeinen dauert eine Verringerung des Durchsatzes von einigen Sekunden bis zu einigen Minuten und eine Erhöhung des Durchsatzes von einigen Minuten bis zu einigen Stunden.
Wir empfehlen Ihnen, eine Erhöhung des Durchsatzes so zu planen, dass dieser zusätzliche Durchsatz nicht sofort verwendet werden muss. Planen Sie die Bereitstellung der Durchsatzkapazität so weit im Voraus, dass diese verfügbar ist, wenn sie benötigt wird.
Das Datenmodell für Amazon DynamoDB lautet wie folgt:
Die Gesamtgröße eines Elements, einschließlich der Attributnamen und -Werte, darf 64 KB nicht überschreiten.
Es gibt keine Beschränkungen in Bezug auf die Anzahl der Attribute, die ein Element haben kann. Die Gesamtgröße eines Elements, einschließlich der Attributnamen und -Werte, darf jedoch 64 KB nicht überschreiten.
Amazon DynamoDB unterstützt drei Skalardatentypen: Zahl, Zeichenfolge und Binärzahl. Außerdem unterstützt Amazon DynamoDB Datentypen mit mehreren Werten: Zeichenfolgensatz, Zahlensatz und Binärzahlensatz.
Nein. Sie können jede beliebige Speichermenge in einer Amazon DynamoDB-Tabelle speichern. Wenn die Größe der Datensätze wächst, verteilt Amazon DynamoDB Ihre Daten automatisch über ausreichend Ressourcen, um Ihre Speicheranforderungen zufrieden zu stellen.
Nein. Sie können den für Ihre Tabelle bereitgestellten Durchsatz erhöhen, indem Sie die UpdateTable-API oder die AWS Management Console verwenden. DynamoDB kann mit großen Datenmenge arbeiten. Theoretisch gibt es keine Einschränkungen in Bezug auf den erreichbaren Durchsatz. DynamoDB teilt Ihre Tabelle automatisch auf mehrere Partitionen auf. Jede Partition ist eine unabhängige parallele Recheneinheit. DynamoDB kann immer höhere Durchsatzraten erreichen, indem immer mehr Partitionen hinzugefügt werden.
Wenn Sie Durchsatzraten von 10.000 Schreibvorgängen/Sekunde oder 10.000 Lesevorgängen/Sekunde überschreiten möchten, müssen Sie sich zuerst mithilfe dieses Online-Formulars an Amazon wenden.
Ja. Amazon DynamoDB wurde so konzipiert, dass der bereitgestellte Durchsatz vergrößert oder verringert werden kann, aber die Lösung auch während dieser Zeit verfügbar bleibt.
Nein. Mit Amazon DynamoDB ist es nicht erforderlich, dass Datenbanktabellen partitioniert werden, um den Durchsatz verändern zu können.
Der Service wird auf den bewährten Amazon Datencentern mit hoher Verfügbarkeit ausgeführt. Der Service repliziert Daten über drei Standorte in einer AWS-Region hinweg und bietet so eine Fehlertoleranz bei eventuellen Server- oder Availability Zone-Ausfällen.
Damit eine hohe Verfügbarkeit und Beständigkeit erzielt werden kann, repliziert Amazon DynamoDB Daten über drei Standorte in einer AWS-Region hinweg.
Sie haben die Möglichkeit, die Tabellenleistung kostenlos mithilfe von Amazon CloudWatch in der AWS Management Console zu überwachen. Dabei haben Sie Zugriff auf Informationen, wie Verzögerungen für jeden Operationstyp, Gesamtmenge der in der Tabelle gespeicherten Daten, Anforderungsdurchsatz für jede API und alle gedrosselten Anforderungen während einer bestimmten Zeitspanne. Sie können diese Daten verwenden, um Ihre Datenbanktabellenressourcen dynamisch zu skalieren – noch bevor es zu einem erhöhten Datenverkehr kommt.
Ja. DynamoDB unterstützt Berechtigungen auf API-Ebene durch die Integration des Services AWS Identity and Access Management (IAM)
Weitere Informationen zu IAM erhalten Sie unter:
DynamoDB unterstützt implizite Transaktionen auf Elementebene. Wenn Sie UpdateItem, PutItem oder DeleteItem verwenden verläuft die Operation garantiert entweder atomar erfolgreich oder er schlägt fehl. Die Atomarität dieser Operationen wird auf Elementebene garantiert. Die Atomarität wird auch für bedingte Operationen sowie für inkrementelle/dekrementale Operationen garantiert.
Jede DynamoDB-Tabelle verfügt über einen dazugehörigen bereitgestellten Lese- und Schreibdurchsatz. Diese Durchsatzkapazität wird Ihnen nach Stunden berechnet, sobald Sie das kostenlose Nutzungskontingent überschreiten.
Beachten Sie, dass die Durchsatzkapazität, die Sie für Ihre Tabelle bereitstellen, nach Stunden berechnet wird. Dabei ist unerheblich, ob Sie Anforderungen an Ihre Tabelle senden oder nicht. Wenn Sie den bereitgestellten Durchsatz für Ihre Tabelle ändern möchten, können Sie das über die AWS Management Console oder die UpdateTable-API vornehmen.
Außerdem berechnet Ihnen DynamoDB indizierten Datenspeicher und die standardmäßigen Transfergebühren für Internet-Daten.
Die Preise für DynamoDB finden Sie auf der Seite mit der Preisübersicht für DynamoDB.
Hier finden Sie ein Beispiel dafür, wie Sie Ihre Durchsatzkosten unter Verwendung der Preise für die Region USA Ost (Nord-Virginia) berechnen. Die Preise für andere Regionen finden Sie auf der Seite mit unserer Preisübersicht
Wenn Sie eine Tabelle erstellen und 10 Schreibkapazitätseinheiten sowie 200 Lesekapazitätseinheiten für den bereitgestellten Durchsatz anfordern, wird Ihnen das wie folgt in Rechnung gestellt:
0,01 USD + (4 x 0,01 USD) = 0,05 USD pro Stunde
Sobald sich Ihre Durchsatzanforderungen ändern und Sie Ihren bereitgestellten Durchsatz auf 10.000 Schreib- und 50.000 Lesekapazitätseinheiten erhöhen, ändert sich die Berechnung wie folgt:
(1.000 x 0,01 USD) + (1.000 x 0,01 USD) = 20 USD/Stunde
Die Preise für DynamoDB finden Sie auf der Seite mit der Preisübersicht für DynamoDB.
Falls nicht anders bezeichnet, gelten unsere Preise zuzüglich anwendbarer Steuern und Abgaben, darunter MwSt. und Umsatzsteuer. Unsere Preise für die Region Asien-Pazifik (Tokio) verstehen sich beispielsweise inklusive japanischer Verbrauchssteuer.