Tidb: Compared with mysql cluster

Created on 1 Dec 2016  路  6Comments  路  Source: pingcap/tidb

Compared with MySQL Cluster,what's the advantage of TiDB?

Most helpful comment

A few more points to add:

  • TiDB is designed for datasets larger than memory (by constrast MySQL Cluster is an in memory database. All indexes and data except blobs must be in memory).
  • One of the limitations of memory-based DB engines is restart times. While MySQL Cluster has worked to improved this over time, you should verify recovery time for your own use case.
  • MySQL cluster has a limit of 48 data nodes, and stricter limits on max row length etc. By contrast, there are TiDB clusters with > 100 nodes.

So maybe to also summarize, MySQL cluster is designed for in-memory OLTP with very low latency and high transaction rates. TiDB is more generic in what workloads (OLTP, OLAP) and schemas it can support. It is also a lot easier to use :-)

All 6 comments

@ch-lgs Compare with proxy, TiDB has horizontal scalability, online schema changes, consistent distributed transactions.

What I mean is not the mysql cluster with proxy,but mysql cluster that MySQL official provides.

@ch-lgs I think TiDB has the following advantages against MySQL cluster:

  • You can deploy TiDB cluster across data centers. We use raft to replicate data between replica. In this scenario, even the whole data center is down, your data is also safe and your service is still on.

  • TiDB could handle complex query better. Our optimizer is suitable for distributed computing.

  • Adding or removing node into/from TiDB cluster is very easy.

  • TiDB supports real distributed transaction.

  • TiDB is easy to deploy and maintain.

Thank you for your answer.And i want to know when TiDB can release stable version.

@ch-lgs We are going to release RC1 in the next week. GA will be released early in the next year (may be around Chinese New Year).

A few more points to add:

  • TiDB is designed for datasets larger than memory (by constrast MySQL Cluster is an in memory database. All indexes and data except blobs must be in memory).
  • One of the limitations of memory-based DB engines is restart times. While MySQL Cluster has worked to improved this over time, you should verify recovery time for your own use case.
  • MySQL cluster has a limit of 48 data nodes, and stricter limits on max row length etc. By contrast, there are TiDB clusters with > 100 nodes.

So maybe to also summarize, MySQL cluster is designed for in-memory OLTP with very low latency and high transaction rates. TiDB is more generic in what workloads (OLTP, OLAP) and schemas it can support. It is also a lot easier to use :-)

Was this page helpful?
0 / 5 - 0 ratings