分布式資料庫TIDB

2021-07-25 21:15:17 字數 978 閱讀 5634

tidb 是國內 pingcap 團隊開發的乙個分布式 sql 資料庫。其靈感來自於 google 的 f1 和 google spanner, tidb 支援包括傳統 rdbms 和 nosql 的特性。
架構圖

tidb 集群主要分為三個元件:

tidb server

tidb server 是無狀態的,其本身並不儲存資料,只負責計算,可以無限水平擴充套件,可以通過負載均衡元件(如lvs、haproxy 或 f5)對外提供統一的接入位址。

pd server

placement driver (簡稱 pd) 是整個集群的管理模組,其主要工作有三個: 

一是儲存集群的元資訊(某個 key 儲存在哪個 tikv 節點);二是對 tikv 集群進行排程和負載均衡(如資料的遷移、raft group leader 的遷移等);

三是分配全域性唯一且遞增的事務 id。

pd 是乙個集群,需要部署奇數個節點,一般線上推薦至少部署 3 個節點。

tikv server

tikv server 負責儲存資料,從外部看 tikv 是乙個分布式的提供事務的 key-value 儲存引擎。儲存資料的基本單位是 region,每個 region 負責儲存乙個 key range (從 startkey 到 endkey 的左閉右開區間)的資料,每個 tikv 節點會負責多個 region 。tikv 使用 raft 協議做複製,保持資料的一致性和容災.

副本以 region 為單位進行管理,不同節點上的多個 region 構成乙個 raft group,互為副本。資料在多個 tikv 之間的負載均衡由 pd 排程,這裡也是以 region 為單位進行排程。

TIdb 分布式資料庫

tidb 是 pingcap 公司設計的開源分布式 htap hybrid transactional and analytical processing 資料庫,結合了傳統的 rdbms 和 nosql 的最佳特性。tidb 相容 mysql,支援無限的水平擴充套件,具備強一致性和高可用性。tid...

從TiDB學習分布式資料庫

因為最近在做tidb的乙個hackthon,需要先對tidb架構有個了解,然後再確定選題方向,進行方案設計 tidb 是 pingcap 公司設計的開源分布式 htap hybrid transactional and analytical processing 資料庫,結合了傳統的 rdbms 和...

分布式資料庫

網路選課系統中分布式資料庫設計 何翠雙王巧雲張麗麗 摘要 關鍵字 選課 分布式 資料庫 distributed system of on line course choosing abstract key words course choosing distributed database 隨著學校...