Skip to main content

DynamoDB

DynamoDB is one of AWS's most powerful services and one Amazon relies on heavily for their own infrastructure. It's fundamentally different from a traditional RDBMS, but it excels at handling massive data volumes and high throughput. As a serverless database, it scales seamlessly regardless of how much data or traffic you throw at it. The tradeoff? Getting the design right upfront.

Denormalization and Single-Table Design

If you're coming from traditional databases, where storage was expensive and normalization was gospel, concepts like "denormalization" and "single-table design" might seem counterintuitive. However, this is how DynamoDB's creators intended it to be used. While there's ongoing debate in the community, the approach has significant merit: storage is now cheap, while compute remains expensive. Single-table design and denormalization optimise for this modern reality.

What We Like

  • Blazing fast: Sub-millisecond response times
  • Rock-solid reliability: We've never experienced downtime
  • Built-in backups: Automated 28-day point-in-time recovery (though we still maintain off-site backups)

What We Don't Like

  • Complex initial setup: Requires careful planning around access patterns and key design
  • Limited flexibility: Querying and modifying data isn't as straightforward as with an RDBMS and SQL.