dynobase-icon
Dynobase

Question: Does DynamoDB support atomic updates?

Rafal Wilinski

Answered by Rafal Wilinski

Last updated: October 23rd, 2026

Answer

Yes. DynamoDB's UpdateItem operation changes a single item atomically, including changes to several attributes in the same request. Other writers cannot observe a partially applied update.

Use an UpdateExpression to set or remove attributes, increment a number, or append values to a list. For example, SET #count = if_not_exists(#count, :zero) + :one increments a counter without first reading it. Map #count to the attribute name and supply numeric values for :zero and :one.

Atomicity does not prevent every concurrency bug. If you read an item, calculate a replacement value and write it without a condition, another writer can be overwritten. Add a ConditionExpression that checks a version or expected value, and handle ConditionalCheckFailedException when it no longer matches. See conditional updates.

An atomic increment is also not idempotent: retrying it after an ambiguous response can increment twice. For operations such as charging an account, use an application idempotency record or an appropriate transaction design instead of an unguarded counter.

For all-or-nothing changes to several items, use DynamoDB transactions. Ordinary batch writes do not provide that guarantee.

Source: AWS item operations and atomic counters.

Dynobase is a Professional GUI Client for DynamoDB

Start your 7-day free trial today

Product Features

Download
/
Pricing
/
Member Portal
/
Privacy
/
EULA
/
Twitter
© 2026 Dynobase
+
Still using AWS DynamoDB Console?
Try Dynobase to accelerate your DynamoDB workflow. Start your 7-day free trial today.