取代分庫分表Sharding-JDBC的TiDB數據庫


58 集團擁有大量需要長期保留的數據,但 MySQL 的單機存儲容量有限,擴容不便。在數據量特別大的情況下,只能采用分庫分表。MySQL 的高可用方案是主從復制+ MHA,當主庫掛掉時,需要切換主從,勢必影響一定時間的寫入。此外,MySQL 讀延時比較高,讀流量增加會進一步帶來高延遲。

經過選型對比,58 集團選用 TiDB 來解決上述問題。 基於分布式架構的 TiDB 支持水平伸縮,在計算能力不夠時直接加節點就可以進行擴展。 且 TiDB 具有多副本,可以保證數據安全及高可用。此外,TiDB Server 沒有狀態,支持多點讀寫。TiDB 也無需分庫分表,操作比較簡單,不用定期清理數據。

58 將 TiDB 接入到了“58 雲 DB 平台”中,利用開源 inception 來處理 DDL/DML 工單。平台分為管理端和用戶端,管理端是 DBA 用來做元信息維護、工單處理、運營報表、監控概覽等。用戶端方面,業務會在上面申請 TiDB 集群、DDL/DML 工單,賬號管理,查看集群的信息及監控情況,還可以自助查詢庫中的數據。

TiDB 切實解決了汽車之家在應用 SQL Server 時候的痛點:

  • 水平伸縮:在當前集群內可以隨時加節點,更換節點也輕而易舉;
  • 海量數據支持:基於其特性以及業內使用的經驗,十億乃至百億級別的數據量輕松搞定;
  • 高可用:相較 SQL Server 的主從模式,TiDB 基於 Raft 協議,可以實現 100% 的數據強一致性,並且多數副本可用的情況下,可實現自動故障恢復;
  • HTAP:TiDB 自身就支持一定程度的 OLAP 場景,更復雜的 OLAP 分析可以通過 TiSpark 項目來完成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM