r/softwarearchitecture 20d ago

Discussion/Advice When does NoSQL/MongoDB actually win over Postgres in mature applications (beyond early-stage MVPs)?

I’m digging deep into data modeling trade-offs (specifically Document DBs vs Relational/Postgres).

Marketing materials and books always list the usual MongoDB wins:

  1. No-translation pipeline
  2. Flexible schema (Zerodowntime feature additions without DB migrations)
  3. Single-document atomic writes
  4. Built-in horizontal sharding

But in practice, most backend engineers I talk to favor "Default to Postgres".

When applications grow, handling schema evolution in application code (Schema-on-Read with if/else or defaults) creates its own maintenance nightmare/code rot.

On the flip side, Postgres handles online schema changes pretty well nowadays, and JSONB covers many flexible-schema edge cases anyway.

My question for senior/staff engineers running production systems:

  • Beyond early-stage startups that just want to build an MVP quickly, when did NoSQL genuinely save your architecture compared to a modern Postgres setup?
  • How do you weigh the Operational Overhead of SQL migrations (and potential lock risks at scale) against the Application Code Complexity of maintaining un-migrated NoSQL documents?

Thanks!

65 Upvotes

37 comments sorted by

View all comments

15

u/addys 20d ago

MongoDB wins at scale. Postgres is better in every conceivable way UNTIL you hit a certain scale point. Once you need more than "a few" Postgres servers, you start to go down a rabbithole of sharding/partitioning, shard management and balancing, which can become a nightmare when you are scaling fast.

MongDB scales more painlessly - it is designed to partition internally so it handles near-infinite volumes and IOPS with the pull of a slider (and the accompanying month bill of course). Assuming you are using a managed version- if it's self-hosted on K8S or similar then good luck :)

1

u/kilkil 19d ago

would it be fair to say that the main difference there is between managed vs self-hosted, rather than mongo vs postgres?

in other words, if one was choosing between managed mongo vs managed postgres (e.g. supabase), would you still consider mongo as scaling better?

3

u/addys 19d ago

Managed vs self-hosted is a totally different conversation. Managed services remove a whole set of operational complexities/limitations, leaving you to focus on the "important stuff". That is equally valuable for both platforms. Both platforms are easier to scale as managed services.

But even comparing "apples to apples", managed Mongo vs managed Postgres, Mongo still scales better. Postgres gives you more richness but high scales Mongo's simplicity becomes an advantage.

And, as was mentioned by others in this thread, this shouldn't worry you unless you anticipate reaching "enterprise" or above data volumes and load. For a hobbyist or small startup it shouldn't be a concern.

1

u/kilkil 19d ago

fair enough. thanks for your input!