Opening Scenario
Your team is starting a new service. The tech lead mentions that you'll use DynamoDB instead of Postgres. You've used Postgres for years. DynamoDB sounds like "Postgres but more scalable," and you assume you'll be able to do the same things you've always done.
Three months later, you're trying to add a filter on a field that isn't part of your primary key. You're told it requires a Global Secondary Index. Then you try to do a JOIN across two tables — and discover you can't. You need to count rows matching a filter — the query takes 30 seconds and reads your entire table. A colleague explains: "DynamoDB doesn't work like that. You have to design for your access patterns first."
You chose a database without understanding what you were trading away.
Question Progression
Q1: What does "NoSQL" actually mean — and what is it NOT?
Question: NoSQL databases have been around since the late 2000s. The name suggests they don't use SQL.…
In the full tutorial
- Closing: When to Reach for This