It's definitely an interesting category right now - I've been following Citus and Vitess with interest for a while since they let you use PostgreSQL and MySQL respectfully with magic sharding sauce.
I haven't actually tried either yet - like you I'm waiting for more success stories (plus I don't currently have any problems that warrant that approach).
Vitess and Citus seem to be half-way between manual sharding and distributed SQL. They really discourage cross-shard updates, for instance, whereas they're a really natural part of distributed SQL:
> The authors of Vitess recommend that you design your VSchema so that cross-shard updates (and 2PC) are not required.
https://vitess.io/docs/reference/features/two-phase-commit/
Maybe though it's just a fundamental coordination problem one can't work around.
I'm very OK with that limitation - when I'm designing a sharded system I'm happy to take shards into account and arrange my entities such that I can apply updates to them grouped on a single shard.
The value I want is help directing those write queries to the correct shards, and some assistant with cross-shard read queries.
simonw 2021-08-18 20:57:10 +0000 UTC [ - ]
I haven't actually tried either yet - like you I'm waiting for more success stories (plus I don't currently have any problems that warrant that approach).
Slack adopted Vitess a few years ago.
nitsuaeekcm 2021-08-18 22:36:20 +0000 UTC [ - ]
Maybe though it's just a fundamental coordination problem one can't work around.
simonw 2021-08-19 06:32:09 +0000 UTC [ - ]
The value I want is help directing those write queries to the correct shards, and some assistant with cross-shard read queries.