Schemaless / document databases have a place and a purpose, but nine times out of ten the data we're dealing with day to day has a known and rigid structure that changes infrequently.
And you still need to do joins to enrich data from different collections.
I want Postgres back. :(
https://docs.mongodb.com/manual/core/schema-validation/#rest...
That's true. The strictness of SQL lets you use SQL as the integration point. Without it you'd have to write a service on top as the integration layer.
Exactly. There is always a schema, there has to be. It's just a question of whether it can easily be seen or if it is buried in a thousand places in the code.
Please define internet scale. Joining 10s of billions of rows using clickhouse here.
Vitess [1] and PlanetScale [2] ?
That is not something specific to document databases that is an approach taken by NOSQL datastores. It's known as denormalization which has its own share of issues that then need to be addressed.
MongoDB has automatic sharding, which is very important for horizontal scaling of writes. For MySQL you have to do manual sharding which is extremely hard.
And finally, document oriented databases are schemaless, which means there is no downtime when you add/remove fields.