DynamoDB
DynamoDB is Amazon Web Services' fully managed, proprietary NoSQL key-value/document database, launched 2012 and derived from the 2007 Dynamo paper; it has no version number, only continuous feature releases. On-demand pricing (since a 50% cut on Nov 1, 2024) is $0.625 per million write request units and $0.125 per million read request units (us-east-1); provisioned capacity runs $0.00065/WCU-hour and $0.00013/RCU-hour, with reserved capacity cutting up to 77%. Each global secondary index multiplies write cost — a write with 3 GSIs consumes 4x WRUs. Free tier: 25 WCU/RCU + 25GB storage/region. Prime Day 2025 peaked DynamoDB at 151 million requests/second across Alexa, Amazon.com, and fulfillment centers; AWS cites "hundreds of thousands" of customers. Current version/status: N/A — continuously-released managed service (on-demand throughput pricing cut 50%, Nov 1 2024). License: proprietary (AWS managed service, no self-hosted option). Pricing: On-demand: $0.625/million write request units + $0.125/million read request units (us-east-1, post-Nov-2024 cut); provisioned: $0.00065/WCU-hr + $0.00013/RCU-hr with reserved capacity up to 77% cheaper; free tier 25 WCU/RCU + 25GB storage per region; each GSI adds a full extra WRU per write. Maintained by Amazon Web Services (AWS).
Pick DynamoDB when you're already on AWS and need single-digit-millisecond reads at unpredictable, spiky scale without touching a capacity knob — on-demand mode scales to zero and back with no ops burden. Skip it for anything needing multi-table joins, ad-hoc queries, or multi-cloud portability — grab Postgres (or MongoDB Atlas if you want documents with real query flexibility) instead. AWS's own docs admit the tradeoff: GSIs silently multiply your write bill (1+N per index), and access patterns must be modeled upfront — bolt on a new query shape later and you're often rebuilding indexes, not writing SQL. Known weakness: AWS's own guidance requires modeling every access pattern before designing the table/index schema — unlike SQL there's no ad-hoc querying, so adding a new query shape after launch usually means adding (and paying for) a new GSI rather than writing a new query.