Amazon DynamoDB
A key-value database that answers in milliseconds no matter how big the table gets.
DynamoDB is AWS's NoSQL database. Instead of tables with rows and columns joined by SQL, it stores items (JSON-like documents) and finds them by a key you choose, such as a user id or an order number. Fetching an item by key takes a few milliseconds whether the table holds a thousand items or a billion.
There is no server to size: you pay per read, per write and per gigabyte stored, and AWS spreads the table over as many machines as it needs. It is fully managed, replicated across three Availability Zones, and can keep live copies in other Regions. The catch is that it only does fast what it was designed for: getting items by key. A question like 'all orders over 100 dollars last March' needs either a careful table design or a different tool, such as Amazon RDS or Amazon Athena.
Typical uses: shopping carts, user sessions and profiles, game leaderboards, the state behind a mobile app. Amazon's own retail site leans on it for its busiest shopping days, which is roughly the scale it was built for.
Keep in mind
- You access items by a key you choose; design the key around the questions you will ask.
- Serverless pricing: per read, per write and per gigabyte, with no instance to manage.
- Reads take single-digit milliseconds at any table size.
- Great for carts, sessions and profiles; a poor fit for ad hoc reporting.