Managing complex workflows with DynamoDB transactions
Amazon DynamoDB transactions simplify the developer experience of making coordinated, all-or-nothing changes to multiple items both within and across tables. Transactions provide atomicity, consistency, isolation, and durability (ACID) in DynamoDB, helping you to maintain data correctness in your applications.
You can use the DynamoDB transactional read and write APIs to manage complex business workflows that require adding, updating, or deleting multiple items as a single, all-or-nothing operation. For example, a video game developer can ensure that players’ profiles are updated correctly when they exchange items in a game or make in-game purchases.
With the transaction write API, you can group multiple Put
,
Update
, Delete
, and ConditionCheck
actions. You can then
submit the actions as a single TransactWriteItems
operation that either succeeds or
fails as a unit. The same is true for multiple Get
actions, which you can group and
submit as a single TransactGetItems
operation.
There is no additional cost to enable transactions for your DynamoDB tables. You pay only for the reads or writes that are part of your transaction. DynamoDB performs two underlying reads or writes of every item in the transaction: one to prepare the transaction and one to commit the transaction. These two underlying read/write operations are visible in your Amazon CloudWatch metrics.
To get started with DynamoDB transactions, download the latest Amazon SDK or the Amazon Command Line Interface (Amazon CLI). Then follow the DynamoDB transactions example.
The following sections provide a detailed overview of the transaction APIs and how you can use them in DynamoDB.