Moving money between 10 accounts with 64 concurrent workers, Postgres committed 5 transfers a second when rows were locked in random order (50 deadlocks, median wait 24 s) and 1,185 a second when locked in a fixed order. DynamoDB committed 228 a second and cancelled 14,344. Also: hot counters, sharding, and serializable isolation.
Committed transfers per second between 10 accounts, 64 concurrent workers, 10 seconds. Our measurements, November 2026. Log scale.
One line of code, the order in which a transaction locks two rows, made a 237-fold difference. The full report has the same test at 10,000 accounts, a single hot counter with 64 writers, the counter sharded ten ways, and serializable against read committed isolation.
We'll read your locking pattern with you and point at the fix. 30 minutes, free.
Once a month: what changed in tech that month and what it means for you, from cloud and AI to security and the tools you build with. Every item links to its source. No sales pitch, unsubscribe in one click.
Book a free 30-minute call about it. Bring your setup and your bill; you'll leave knowing what we'd do first and roughly what it costs, whether or not you hire us.
Or keep reading
DynamoDB vs Postgres, Measured in AWS: 53 Workloads From the Same Client
We ran 53 workloads against RDS Postgres 17 and DynamoDB from one Fargate task in the same Availability Zone, at 100,000, 1 million and 5 million orders. Key lookups took 0.35 ms in Postgres and 2.7 ms in DynamoDB; a two-item transaction 1.75 ms against 20 ms; a question nobody designed for, 0.08–2.7 s against a full table scan. The full results, with the method and every caveat.
Read
Ad-Hoc Questions on DynamoDB vs Postgres: 16 Analytics Queries at 100,000, 1 Million and 5 Million Orders
Every question across customers is a full table scan in DynamoDB: 217,000 read units at 5 million orders, whether it returns 10 rows or all of them. Postgres answered the same 16 questions in 0.08 to 2.7 seconds without a single index added for them, and an index built in 2.7 seconds took one from 148 ms to 44 ms. Measured in AWS.
Read
As of November 9, 2026. Provided as is, for general information, and accurate to the best of our knowledge on the date shown. Not legal, compliance, tax, financial or other professional advice. Prices, limits and vendor services change; check current vendor documentation before relying on anything here. Terms of use.