Does DynamoDB support transactions?

Yes. DynamoDB supports ACID transactions via TransactWriteItems and TransactGetItems. Each transaction groups up to 100 actions across one or more tables in the same account and Region into a single all-or-nothing operation, with a combined size limit of 4 MB. Either every action succeeds or none do.

The two transaction APIs

  • TransactWriteItems — batches Put, Update, Delete, and ConditionCheck actions atomically. Synchronous and idempotent.
  • TransactGetItems — reads multiple items in a single atomic, consistent snapshot.

Rules and limits

  • Up to 100 items per transaction, across one or more tables.
  • All tables must be in the same account and Region.
  • Combined item size cannot exceed 4 MB.
  • You cannot target the same item twice in one transaction.

Transaction vs batch

Unlike BatchWriteItem, where items can succeed or fail independently, a transaction is all-or-nothing — use it when partial application would corrupt your data.

Go deeper

Learn patterns in DynamoDB transactions, and build the condition expressions they rely on with the Expression Builder. Download DynoTable to run transactional edits safely.

Travaille avec DynamoDB sans la Console

DynoTable est un client de bureau rapide pour DynamoDB — parcours les tables, exécute des requêtes de style SQL et édite les items en local.