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.

Lavora con DynamoDB senza la Console

DynoTable è un client desktop veloce per DynamoDB — sfoglia le tabelle, esegui query in stile SQL e modifica gli Item localmente.