Unterstützt DynamoDB Transaktionen?

Ja. DynamoDB unterstützt ACID-Transaktionen über TransactWriteItems und TransactGetItems. Jede Transaktion bündelt bis zu 100 Aktionen über eine oder mehrere Tabellen im selben Konto und derselben Region in eine einzige Alles-oder-nichts-Operation, mit einer kombinierten Größengrenze von 4 MB. Scheitert eine Aktion, wird keine angewendet.

Die zwei Transaktions-APIs

  • TransactWriteItems — bündelt Put-, Update-, Delete- und ConditionCheck-Aktionen atomar. Synchron und idempotent.
  • TransactGetItems — liest mehrere Items in einem einzigen atomaren, konsistenten Snapshot.

Regeln und Limits

  • Bis zu 100 Items pro Transaktion, über eine oder mehrere Tabellen.
  • Alle Tabellen müssen im selben Konto und derselben Region liegen.
  • Die kombinierte Item-Größe darf 4 MB nicht überschreiten.
  • Du kannst dasselbe Item in einer Transaktion nicht zweimal ansprechen.
  • Bei Global Tables gelten die ACID-Garantien nur innerhalb der Region, in der die Transaktion lief — Änderungen replizieren nach dem Commit in andere Regionen, und Global Tables im Modus Multi-Region Strong Consistency (MRSC) unterstützen die Transaktions-APIs überhaupt nicht.

Was Atomarität kostet

Dasselbe Item, zwei Wege, mit eingeschaltetem ReturnConsumedCapacity:

PutItem, one 920-byte item                 ConsumedCapacity 1
TransactWriteItems, the same single Put    ConsumedCapacity 2

Ein transaktionaler Write kostet zwei Writes an Kapazität, und ein transaktionaler Read zwei Reads. Auf Dauer ist diese Verdopplung der ganze Handel: 100 Writes pro Sekunde auf 1-KB-Items kosten in us-east-1 On-Demand 164,25 $ pro Monat — oder 328,50 $, wenn jeder davon durch eine Transaktion läuft. Der Preisrechner hat für genau diesen Vergleich eine Einstellung für transaktionale Konsistenz.

Das Retry, das nicht zweimal wirkt

Eine Transaktion, die in ein Timeout läuft, kann trotzdem committet haben — das Gefährliche ist also das Retry, nicht die Transaktion. ClientRequestToken ist das, was das Retry sicher macht. Dieselbe ADD counter :one-Transaktion zweimal unter einem Token geschickt:

TransactWriteItems  (token order-4711)     200
TransactWriteItems  (token order-4711)     200
GetItem counter                            {"N": "1"}

Beide Aufrufe waren erfolgreich, und der Zähler ist einmal weitergerückt. Der Token bleibt 10 Minuten nach dem Ende der ersten Anfrage gültig; verwendest du ihn später erneut, ist der zweite Aufruf eine neue Transaktion und der Zähler rückt wieder weiter. Verwendest du ihn innerhalb des Fensters mit irgendeinem geänderten Parameter, liefert DynamoDB IdempotentParameterMismatch.

Transaktion vs. Batch

Anders als BatchWriteItem, das jedes Item für sich anwendet (manche Writes können landen, während andere scheitern), ist eine Transaktion Alles-oder-nichts — nimm sie, wenn eine teilweise Anwendung deine Daten beschädigen würde.

Tiefer einsteigen

Lerne die Muster in DynamoDB-Transaktionen und baue die Condition Expressions, auf denen sie beruhen, mit dem Expression Builder. Lade DynoTable herunter, um deine Item-Bearbeitungen als prüfbare Diffs bereitzustellen und sie gemeinsam als transaktionalen Batch zu committen.

Referenzen

Zuletzt verifiziert am 2026-07-13 gegen die oben verlinkte offizielle AWS-Dokumentation; das 100-Aktionen-Limit und das 10-Minuten-Idempotenzfenster erneut geprüft am 2026-07-28.

Die ConsumedCapacity-Werte und das idempotente Replay wurden am 2026-07-28 gegen DynamoDB Local 3.3.0 via @aws-sdk/client-dynamodb 3.1095.0 reproduziert; die Monatskosten sind aus dem On-Demand-Preis pro Write Request Unit für us-east-1 in unserer synchronisierten AWS-Preistabelle berechnet.

Mit DynamoDB ohne die Console arbeiten

Ein schneller DynamoDB-Desktop-Client, der das echte SQL ausführt, das DynamoDB nicht kann — JOINs, GROUP BY, Aggregationen — mit visueller Bearbeitung und einem KI-Agenten auf deinen eigenen Bedrock-Schlüsseln.

30 Tage kostenlos testen, keine Kreditkarte — danach der Kostenlos-Tarif ohne Zeitlimit.