5 ms·
Vitess might have being a decent option considering they are already MySQL shop
by qaq 6y ago
Vitess might have being a decent option considering they are already MySQL shop
- gregwebs 6y agoHi, I work at PingCAP and can try to explain the difference between the two options. TiFlash (fast column-based storage) was important in this story and an equivalent doesn't exist for Vitess. Vitess is a MySQL sharding system. In this article they stated that it was too difficult to query across shards in their existing setup. Switching to Vitess from their existing sharding system (assuming they were using something else) might have helped them for some of their queries. However, Vitess doesn't support cross shard transactions for production workloads. TiDB doesn't have these sharding limitations.
- qaq 6y agoThanx for the detailed resp. Just to clarify TiDB uses 2pc too for cross region transactions from what I remember?
- gregwebs 6y agoYes, it is a form of 2PC that happens transparently during normal transactions. It is designed to perform well for production workloads whereas Vitess now has 2PC but warns against using it and requires configuration changes to enable it.
- mmerlin 6y ago2PC = two-phase commit https://en.m.wikipedia.org/wiki/Two-phase_commit_protocol https://en.m.wikipedia.org/wiki/Two-phase_commit_protocol For anyone like me whose neural net had a cache miss due to lack of caffeine activation function ;)
- Nican 6y agoI might be wrong here, but can someone comment on the process required to add additional nodes on Vitess? Every time I start reading about Vitess, I fall into a hole about manual resharding, hosting multiple vitess instances per host (I think 250GB of storage each?), and that cross-shard reads may be inconsistent. I am taking a quick look at the documentation of TiDB, and they have automatic data re-balancing, 2PC Raft-based-transactions, global snapshot isolation, and actually some nice dashboards to analyze cluster health. Vitess just does not seem nice from an operations perspective.
- qaq 6y agoMy understanding you will have to reshard. It's always a set of tradeoffs for the most part automatic in this context will mean network and other types of overhead.
- hilbertseries 6y agoYes, if you want to add a node you have to manually reshard. It’s quite the process. I’d add each node is a MySQL database and you can make each shard as large you want. The data on different vitess shards is disjoint, so I don’t know how much you need to worry about consistency for cross shard reads. And vitess doesn’t really support cross shard transactions either.