Never · AWS

Amazon DynamoDB

I've never had a use case it fits better than Postgres with JSONB.

To be fair: acknowledged writes are durable, and strongly consistent reads exist for tables. That explains my experience; it doesn't change the verdict. Postgres with JSONB "NoSQL tables" covers every case I've met. Argue with me.

Don't use it when

  • At my clients' scale, always. A huge, simple key-value workload might justify NoSQL, and even then I'd look beyond DynamoDB.

In my words: what hurts

  • I was never sure writes really landed.
  • Eventual consistency left me waiting for data.
  • The query model is hard to reason about.

Gotchas, with fixes

Gotcha: Reads are eventually consistent by default, so a read right after a write can miss it.

Fix: Use strongly consistent reads (tables only, not global secondary indexes), or use Postgres.

Provisioning

Official Pulumi package · Official Terraform provider

Use instead

Postgres on Neon, with JSONB for the document-shaped data.

Alternatives

Where it fits

  • A database: Don't.

    You design every query up front and pay for it in rewrites when the app changes. Postgres with JSONB gives you documents and SQL in one place, and covers every case I've met.

    Instead: Neon (serverless Postgres)

Last reviewed by Nicolas Dao

Want this stack in your AWS account?

Cloudless Labs is a Sydney consultancy. We migrate on-premises systems to AWS, build serverless apps on this stack, and coach teams to ship with Claude Code and Codex.

Contact Us

For general inquiries, please contact us at:

For e-learning capabilities, please contact: