TiDB VS MySQL

語言: CN / TW / HK

作者: Ann_ann 原文來源:https://tidb.net/blog/6035684e

理想型的資料庫應該具備的特點

  • 強一致性和高可用;
  • 高吞吐、高併發、低延遲;
  • 標準SQL、支援 ACID 事務;
  • 大資料生態友好;
  • 有水平擴張能力,並且儘量做到不侵入業務;

資料庫架構選型

1293422-20220610142942732-1516391780.png

TiDB與MySQL對比

1293422-20220610143004863-656549845.png

TiDB 和 MySQL 相容策略

1293422-20220610143110157-1885019516.png

可參考:https://docs.pingcap.com/zh/tidb/stable/mysql-compatibility

截至 4.0 版本,TiDB 與 MySQL 的區別總結:

1293422-20220610143047209-1434833336.png

對於海量資料及大表的解決方案

  • MySQL需要分庫分表,業務研發和 DBA 一起配合且略顯低效地解決此問題;
  • TiDB單表幾乎可以理解為無限大的(業界已經存在 100 億以上的表)。

資料庫叢集高可用

  • MySQL需手動調研部署高可用叢集,且不同高可用方案有不同的維護方式;
  • TiDB自帶高可用架構,自動容災。

MySQL分庫分表 VS TiDB

1293422-20220610143226330-1950226027.png

總結

TiDB 設計的目標就是針對 MySQL 單臺容量限制而被迫做的分庫分表的場景,或者需要強一致性和完整分散式事務的場景。TiDB的優勢是通過儘量下推到儲存節點進行平行計算。對於小表(比如千萬級以下),不適合 TiDB,因為資料量少,Region 有限,發揮不了並行的優勢。