How vitess is different from NDB cluster?

870 views
Skip to first unread message

lokesh m

unread,
Apr 23, 2018, 4:18:07 AM4/23/18
to vitess
We are using mysql 5.7. Now we need to shard data in mysql. While doing that got to know abt Vitess, NDB cluster and XtraDB. Can any one tell the difference between them. Also, it would be good if we have any profiling on these?

Sugu Sougoumarane

unread,
Apr 23, 2018, 9:46:27 AM4/23/18
to vit...@googlegroups.com
Repeating my answer from Slack:
I actually don't know much about NDB cluster, but I think it's mainly for High Availability, and not sharding. Same should be the case for XtraDB. This probably means that you can run Vitess on top of these for sharding.

On Mon, Apr 23, 2018 at 1:18 AM, lokesh m <lokana...@gmail.com> wrote:
We are using mysql 5.7. Now we need to shard data in mysql. While doing that got to know abt Vitess, NDB cluster and XtraDB. Can any one tell the difference between them. Also, it would be good if we have any profiling on these?

--
You received this message because you are subscribed to the Google Groups "vitess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vitess+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

ar...@beyazoglu.com

unread,
Apr 23, 2018, 11:08:55 AM4/23/18
to vitess
All 3 have few common things but they are specialized in different areas. To summarize;

- XtraDB is just an improved version of innodb storage engine. Xtradb Cluster(or Percona Cluster) is a HA solution from Percona, in which all nodes have same consistent data by applying synchronus replication among them. It is meant for read-scalability and read-heavy workloads. You can simply add new nodes/slaves and distribute read load. Since all nodes have same data, change have to be written to all of them which makes it not useful if you want to scale your writes.

- Mysql(NDB) Cluster is an enterprise solution for both read-write scaling and high availilibity. It uses in-memory data storage to allow very fast queries and automatically shard tables across different nodes. However, I dont know much about how sharding is done. Take a look at here https://www.mysql.com/products/cluster/.

- Vitess is used for automatically sharding data across nodes, so it can scale indefinitely, and you define the criteria for sharding/distributing data across nodes. This makes vitess the best choice of all for write-scaling and write-heavy workloads. I think, you could also combine vitess with pxc cluster for high availibility, however it should be a bit complicated.

Harshit Gangal

unread,
Apr 24, 2018, 3:34:29 PM4/24/18
to vit...@googlegroups.com
NDB has lot of size related limitation as it is in memory and also has number of nodes limitations.

--
Reply all
Reply to author
Forward
0 new messages