DynamoDB Kosten entstehen je Million Lese- und Schreibanfragen im On-Demand-Modus oder je Stunde bereitgestellter Lese- und Schreibkapazitätseinheit im Provisioned-Modus, je GB-Monat gespeicherter Daten nach Tabellenklasse, je GB-Monat für Sicherungen und Point-in-Time Recovery, dazu je replizierter Schreibeinheit für Global Tables, je Anfrage für Streams und je GB für Export, Import und Wiederherstellung. Auf der Rechnung dominieren bei Tabellen mit Verkehr die Schreibeinheiten, weil eine Schreibeinheit in Frankfurt fünfmal so viel kostet wie eine Leseeinheit, und bei Tabellen mit Historie der Speicher.
Preisdimensionen
DynamoDB bepreist Durchsatz und Speicher getrennt, und der Durchsatz hat zwei Modi mit eigenen Einheiten: On-Demand zählt Anfragen, Provisioned zählt bereitgestellte Einheiten je Stunde, ob genutzt oder nicht. Die Einheit ist in beiden Fällen dieselbe Arbeit, ein Lesezugriff auf bis zu 4 KB oder ein Schreibzugriff auf bis zu 1 KB, und die Tabellenklasse verschiebt den Preis zwischen Speicher und Durchsatz. Jede Dimension trägt ihren eigenen Usage Type.
| Dimension | Einheit | Was sie treibt | Optional |
|---|---|---|---|
| Lese- und Schreibanfragen (On-Demand) | Million Read Request Units und Write Request Units | Jede Anfrage: 1 RRU je 4 KB bei stark konsistentem Lesen, die Hälfte bei eventual consistency, das Doppelte bei Transaktionen; 1 WRU je 1 KB, das Doppelte bei Transaktionen | Ja, statt Provisioned |
| Bereitgestellte Kapazität (Provisioned) | Stunde je Read Capacity Unit und Write Capacity Unit | Die konfigurierte Kapazität je Sekunde, genutzt oder nicht; Auto Scaling bewegt sie zwischen Minimum und Maximum | Ja, statt On-Demand |
| Speicher | GB-Monat der Rohdaten plus 100 Byte je Element, die ersten 25 GB frei | Elemente, lokale Sekundärindizes und globale Sekundärindizes, die als eigene Tabellen zählen | Nein |
| Tabellenklasse Standard-IA | Speicher zu 40 Prozent und Durchsatz zu 125 Prozent des Standardpreises | Tabellen, in denen Speicher die Kosten dominiert | Ja |
| Global Tables | Replicated Write Request Units oder Replicated Write Capacity Units je Replikatregion | Jeder Schreibzugriff, in jede Replikatregion einmal; Lesen und Speicher je Region wie bei einer einzelnen Tabelle | Ja |
| Sicherungen | GB-Monat für On-Demand-Backups; GB-Monat der Tabellengröße für Point-in-Time Recovery; GB je Wiederherstellung | Tabellengröße mit lokalen Sekundärindizes, Aufbewahrung bis 35 Tage bei PITR | Ja |
| Streams und Change Data Capture | Streams Read Request Units je GetRecords-Aufruf, die ersten 2,5 Millionen im Monat frei; Change Data Capture Units je Schreibzugriff bis 1 KB für Kinesis Data Streams | Jeder Konsument des Streams; Lambda-Trigger lesen kostenfrei | Ja |
| Export und Import | GB exportiert nach S3, GB importiert aus S3 | Vollständige und inkrementelle Exporte, Imports in neue Tabellen | Ja |
| Datentransfer | GB in andere Regionen; innerhalb der Region und eingehend frei | Zugriffe aus anderen Regionen, Replikation | Ja (Datentransfer-Preise) |
| Kaufoption | Reservierte bereitgestellte Kapazität in Blöcken von 100 Einheiten, ein oder drei Jahre, mit Vorauszahlung | Nur Provisioned, nur Standard-Klasse, nur eine Region | Ja (reservierte Kapazität für Managed Services) |
Die Einheit ist das, was beide Modi gemeinsam haben: Ein stark konsistenter Lesezugriff auf ein Element bis 4 KB kostet eine Einheit, ein eventually consistent Lesezugriff eine halbe und ein transaktionaler zwei; ein Schreibzugriff auf ein Element bis 1 KB kostet eine Einheit, ein transaktionaler zwei. Größere Elemente werden auf die nächste Grenze aufgerundet, sodass ein Element von 10 KB zehn Schreibeinheiten und bei stark konsistentem Lesen drei Leseeinheiten braucht. Globale Sekundärindizes verbrauchen eigene Einheiten für jeden Schreibzugriff, der sie ändert, und eigenen Speicher.
Im On-Demand-Modus zahlen Sie je Million dieser Einheiten, was die Tabelle tatsächlich verbraucht, und DynamoDB skaliert ohne Konfiguration; im Provisioned-Modus legen Sie Einheiten je Sekunde fest und zahlen sie je Stunde, ob der Verkehr kommt oder nicht, wobei Auto Scaling die Zahl innerhalb eines Bereichs an die Auslastung anpasst, mit einer Verzögerung von Minuten. Die Preisliste zeigt den Unterschied: Eine Million On-Demand-Schreibeinheiten kostet in Frankfurt 0,7625 USD, eine bereitgestellte Schreibkapazitätseinheit 0,000793 USD je Stunde; eine Einheit je Sekunde für einen Monat entspricht 2,63 Millionen Anfragen, sodass Provisioned günstiger ist, sobald die bereitgestellte Kapazität zu mehr als etwa 29 Prozent ausgelastet ist. Die Freimenge von 25 Einheiten je Richtung, 25 GB Speicher und 2,5 Millionen Stream-Anfragen im Monat gilt nur für Provisioned in der Standard-Klasse und läuft nicht ab.
Die Tabellenklasse Standard-IA tauscht Speicher gegen Durchsatz: Speicher kostet 40 Prozent des Standardpreises, Anfragen und Kapazität 125 Prozent. Sie lohnt sich für Tabellen, deren Speicher mehr als der Durchsatz kostet, etwa Protokolle und Historien, und nicht für Tabellen, die ständig geschrieben werden. Global Tables berechnen jeden Schreibzugriff in jeder Replikatregion einmal als replizierte Schreibeinheit, zu einem Preis, der über der einfachen Schreibeinheit liegt; Lesen und Speicher fallen je Region an wie bei einer einzelnen Tabelle, und das Anlegen eines Replikats kostet eine Wiederherstellung je GB.
So erscheint es in den Abrechnungsdaten
Im Cost and Usage Report tragen die Zeilen den Produktcode AmazonDynamoDB, lineItem/ResourceId den ARN der Tabelle und der Usage Type die Dimension; das Präfix ist der Regionscode, EUC1 für Frankfurt. On-Demand steht als EUC1-ReadRequestUnits und EUC1-WriteRequestUnits mit lineItem/Operation PayPerRequestThroughput, Provisioned als EUC1-ReadCapacityUnit-Hrs und EUC1-WriteCapacityUnit-Hrs mit der Operation CommittedThroughput; die Standard-IA-Klasse trägt IA- nach dem Regionscode, etwa EUC1-IA-WriteRequestUnits, und Global Tables ersetzen Write durch ReplWrite, etwa EUC1-ReplWriteCapacityUnit-Hrs. Die Freimenge erscheint als eigene Zeile desselben Usage Type mit Preis 0 für die ersten 18.600 Einheitenstunden im Monat, was 25 Einheiten über 744 Stunden sind.
Speicher steht als EUC1-TimedStorage-ByteHrs und EUC1-IA-TimedStorage-ByteHrs in GB-Monat, Sicherungen als EUC1-TimedBackupStorage-ByteHrs für On-Demand-Backups und EUC1-TimedPITRStorage-ByteHrs für Point-in-Time Recovery, die Wiederherstellung als EUC1-RestoreDataSize-Bytes, Export und Import als EUC1-ExportDataSize-Bytes, EUC1-IncrementalExportDataSize-Bytes und EUC1-ImportDataSize-Bytes je GB. Streams stehen als EUC1-Streams-Requests mit der Operation GetRecords, Change Data Capture nach Kinesis als EUC1-ChangeDataCaptureUnits-Kinesis. Die Zeilen eines globalen Sekundärindex gehen in der Tabelle auf; eine Aufteilung je Index liefert nur CloudWatch mit ConsumedReadCapacityUnits und ConsumedWriteCapacityUnits je Index.
Was der Report nicht zeigt, ist die Auslastung: Eine Zeile WriteCapacityUnit-Hrs nennt die bereitgestellten Stunden, nicht die verbrauchten, und erst der Vergleich mit ConsumedWriteCapacityUnits in CloudWatch sagt, wie viel davon Arbeit war. Den Aufbau des Reports beschreibt der AWS Cost and Usage Report. Im FOCUS-Export trägt ServiceName Amazon DynamoDB und x_ServiceCode AmazonDynamoDB; Anfragen, Kapazität, Speicher und Sicherungen sind ChargeCategory Usage, reservierte Kapazität PricingCategory Committed und ihre Vorauszahlung ChargeCategory Purchase (FOCUS-Spalten).
Stellhebel
Konfiguration: Der Kapazitätsmodus ist der erste Hebel: On-Demand für unregelmäßigen oder unbekannten Verkehr und für Tabellen, die meist ruhen; Provisioned mit Auto Scaling für gleichmäßige Last, bei der die Auslastung dauerhaft über dem Umschlagpunkt liegt; der Wechsel ist bis zu viermal in 24 Stunden möglich. Die Elementgröße ist der zweite, weil jedes angefangene Kilobyte eine Schreibeinheit kostet: Attribute, die nicht gelesen werden, große Blobs und lange Attributnamen gehören nach S3 oder gekürzt. Der dritte sind die Lesemuster: eventually consistent Lesen halbiert die Leseeinheiten, Transaktionen verdoppeln beides, und ein Scan liest die ganze Tabelle. Die Methode steht unter Datenbankoptimierung.
Kaufoption: Für bereitgestellte Kapazität in der Standard-Klasse senkt reservierte Kapazität den Stundenpreis gegen eine Vorauszahlung über ein oder drei Jahre, in Blöcken von 100 Einheiten je Region; sie gilt nicht für On-Demand, Standard-IA und replizierte Schreibeinheiten. Was sich reserviert, ist die Grundlast, die Auto Scaling nie unterschreitet (Commitment-Strategie).
Architektur: Die Standard-IA-Klasse für Tabellen, deren Speicher die Kosten dominiert; TTL für Elemente, die ablaufen, weil das Löschen per TTL keine Schreibeinheiten kostet; globale Sekundärindizes nur mit den projizierten Attributen, die die Abfrage braucht, weil jeder Index Speicher und Schreibeinheiten verdoppelt. Global Tables nur für Regionen, aus denen gelesen wird, weil jede Replikatregion alle Schreibzugriffe zahlt. Die Dimensionen aller drei Anbieter stellt Managed Databases nebeneinander.
Wo es schiefgeht
- Provisioned zahlt Stunden, nicht Arbeit. Eine Tabelle mit 1.000 bereitgestellten Schreibeinheiten, die 50 je Sekunde verbraucht, zahlt 1.000 je Stunde.
ConsumedWriteCapacityUnitsgegenProvisionedWriteCapacityUnitsin CloudWatch zeigt die Lücke; Auto Scaling oder On-Demand schließt sie. - On-Demand bei Dauerlast. Eine gleichmäßig ausgelastete Tabelle im On-Demand-Modus zahlt je Million Anfragen rund dreieinhalbmal so viel wie bereitgestellte Einheiten bei voller Auslastung. Tabellen, deren Verbrauch tagsüber kaum schwankt, gehören in den Provisioned-Modus.
- Der Index verdoppelt die Schreibkosten. Jeder globale Sekundärindex verbraucht eigene Schreibeinheiten für jeden Schreibzugriff, der ein projiziertes Attribut ändert, und eigenen Speicher. Indizes mit
ALL-Projektion auf Tabellen mit vielen Schreibzugriffen sind die üblichen Kandidaten. - Transaktionen kosten das Doppelte.
TransactWriteItemsundTransactGetItemszahlen je Element zwei Einheiten. Wo eine bedingte Schreiboperation reicht, halbiert sie die Zeile. - PITR kostet je Tabellengröße, nicht je Änderung. Point-in-Time Recovery berechnet die ganze Tabelle je GB-Monat, auch wenn sich fast nichts ändert. Auf großen, ruhigen Tabellen ist ein wöchentliches On-Demand-Backup die günstigere Form.
- Der Stream wird von niemandem gelesen. Change Data Capture nach Kinesis kostet je Schreibzugriff, ob ein Konsument liest oder nicht. Streams ohne Konsumenten werden abgeschaltet.
- Standard-IA bei Schreiblast. Eine Tabelle mit ständigen Schreibzugriffen zahlt in Standard-IA 125 Prozent des Durchsatzes, um 60 Prozent des Speichers zu sparen. Die Klasse lohnt sich nur, wenn die Speicherzeile größer ist als die Durchsatzzeile.
Beispiel
Listenpreise in USD für Frankfurt (eu-central-1), gelesen am 2026-10-21 aus der AWS-Preisliste: On-Demand kostet 0,1525 USD je Million Leseeinheiten und 0,7625 USD je Million Schreibeinheiten, Provisioned 0,0001586 USD je Leseeinheit und 0,000793 USD je Schreibeinheit und Stunde über der Freimenge; Speicher kostet 0,306 USD je GB-Monat über 25 GB, in Standard-IA 0,1224 USD; replizierte Schreibeinheiten für Global Tables 0,7625 USD je Million beziehungsweise 0,000793 USD je Stunde; On-Demand-Backups 0,1224 USD und Point-in-Time Recovery 0,2448 USD je GB-Monat, Wiederherstellung 0,1836 USD je GB, Export 0,1224 USD je GB; Streams 0,2448 USD je Million Leseanfragen über 2,5 Millionen, Change Data Capture nach Kinesis 0,122 USD je Million Einheiten.
Eine Tabelle mit 50 GB, die im Monat 100 Millionen Schreibzugriffe und 300 Millionen eventually consistent Lesezugriffe auf Elemente unter 1 KB empfängt, kostet On-Demand 76,25 USD für die Schreibeinheiten, 22,88 USD für die 150 Millionen Leseeinheiten und 7,65 USD für 25 GB Speicher über der Freimenge, zusammen 106,78 USD. Gleichmäßig verteilt sind das 38 Schreibzugriffe und 57 Leseeinheiten je Sekunde; mit 50 bereitgestellten Schreibeinheiten und 75 Leseeinheiten als Reserve kostet Provisioned (50 minus 25 frei) × 730 × 0,000793 = 14,47 USD plus (75 minus 25) × 730 × 0,0001586 = 5,79 USD plus 7,65 USD Speicher, zusammen 27,91 USD. Dieselbe Tabelle in Standard-IA kostet On-Demand 95,50 USD für die Schreibeinheiten, 28,58 USD für die Leseeinheiten und 6,12 USD für 50 GB Speicher ohne Freimenge, zusammen 130,20 USD. Point-in-Time Recovery kostet für die 50 GB 12,24 USD im Monat dazu. Die Zahlen zeigen, dass gleichmäßige Last im Provisioned-Modus rund ein Viertel des On-Demand-Preises kostet, dass die Schreibeinheiten in beiden Modi die größte Zeile sind, und dass Standard-IA bei dieser Tabelle mehr kostet, weil der Durchsatz den Speicher übersteigt.
Quellen
Gelesen am 2026-10-21. Preise: Amazon DynamoDB Pricing, AWS Price List, Angebot AmazonDynamoDB für eu-central-1. Abrechnungsdaten: DynamoDB-Abrechnung verstehen, Spalten des Cost and Usage Report: lineItem, FOCUS 1.0 mit AWS-Spalten. Dienst: Lese- und Schreiboperationen, Bereitgestellter Durchsatz, Tabellenklassen, Global Tables.