The more I deal with scalable relational DBMSes (Spanner in particular), the more I doubt their usefulness even at large scale. Relational + fully-consistent are always at odds with scalability. It seems like either you have a classic NoSQL use case and use that, or you shard at the application level rather than in the database.
Could someone share a use case where you truly benefited migrating from Postgres/MySQL to Spanner/Citus/Cockroach, and there was no better solution? I'd like my hunch to be wrong.
that really should be the first heuristic for almost any systems design problem - if you can afford to buy a big enough pair of machines to fit your data in hot-swap postgres then just do that.
don't bother with mongo or mysql or dynamo or cassandra or bigtable or spanner or ... until your lack of profitability or size means you can't afford to just use postgres.
> What do you mean "can't afford to just use postgres"?
if I have 10TB of hot data, can I afford two machines with 10T of RAM each? how about 100T?
> I thought postgres cost per query in many cases is cheaper than competitors.
that's not really a useful metric without size/latency/etc attached to it, being cheap for 0.1qps might be fine for a YC company but that's no good for my successful company etc
Could someone share a use case where you truly benefited migrating from Postgres/MySQL to Spanner/Citus/Cockroach, and there was no better solution? I'd like my hunch to be wrong.