4 ms·
I'm so curious, so you maintain Vitess but don't use it personally?
by anglinb 5y ago
I'm so curious, so you maintain Vitess but don't use it personally?
- derekperkins 5y agoI do use it in production and have for years, just not the online schema changes. It's fantastic and FKs are supported in a single shard, which we use heavily.
- romero-jk 5y agoIf you take out online schema changes and sharding, what's the use case for vitess?
- Something1234 5y agoIf you take sharding out what's the point of using anything other than a normal sql database?
- derekperkins 5y agoVitess offers a lot of quality of life improvements over stock MySQL, including built-in backups to S3/GCS, managed replication, plus soon to be auto-failover detection. Additionally, with vreplication, you can do some pretty powerful materialized views that aren't possible with MySQL. Finally, Vitess Messaging is an awesome way to do async work, allowing for transaction guarantees where you can ack a message, do data work, then add to another queue, all without having to deal with weird side effects.
- derekperkins 5y agoArchitected correctly, there's minimal need for cross-shard foreign keys. A common use case is sharding by tenant/customer id, which means that all records for a single customer live on a single shard. That lets you have all the FKs that you want, and any operations for that customer happen on a single shard, which gives you maximum speed and transactional guarantees.