TiDB 開源分布式關係型資料庫

2021-10-04 14:46:07 字數 1094 閱讀 5728

tidb server 負責接收 sql 請求,處理 sql 相關的邏輯,並通過 pd 找到儲存計算所需資料的 tikv 位址,與 tikv 互動獲取資料,最終返回結果。tidb server 是無狀態的,其本身並不儲存資料,只負責計算,可以無限水平擴充套件,可以通過負載均衡元件(如lvs、haproxy 或 f5)對外提供統一的接入位址。

pd server

placement driver (簡稱 pd) 是整個集群的管理模組,其主要工作有三個:一是儲存集群的元資訊(某個 key 儲存在哪個 tikv 節點);二是對 tikv 集群進行排程和負載均衡(如資料的遷移、raft group leader 的遷移等);三是分配全域性唯一且遞增的事務 id。

pd 通過 raft 協議保證資料的安全性。raft 的 leader server 負責處理所有操作,其餘的 pd server 僅用於保證高可用。建議部署奇數個 pd 節點。

tikv server

tikv server 負責儲存資料,從外部看 tikv 是乙個分布式的提供事務的 key-value 儲存引擎。儲存資料的基本單位是 region,每個 region 負責儲存乙個 key range(從 startkey 到 endkey 的左閉右開區間)的資料,每個 tikv 節點會負責多個 region。tikv 使用 raft 協議做複製,保持資料的一致性和容災。副本以 region 為單位進行管理,不同節點上的多個 region 構成乙個 raft group,互為副本。資料在多個 tikv 之間的負載均衡由 pd 排程,這裡也是以 region 為單位進行排程。

tispark

tispark 作為 tidb 中解決使用者複雜 olap 需求的主要元件,將 spark sql 直接執行在 tidb 儲存層上,同時融合 tikv 分布式集群的優勢,並融入大資料社群生態。至此,tidb 可以通過一套系統,同時支援 oltp 與 olap,免除使用者資料同步的煩惱。

tidb operator

tidb operator 提供在主流雲基礎設施(kubernetes)上部署管理 tidb 集群的能力。它結合雲原生社群的容器編排最佳實踐與 tidb 的專業運維知識,整合一鍵部署、多集群混部、自動運維、故障自癒等能力,極大地降低了使用者使用和管理 tidb 的門檻與成本。

分布式資料庫TIDB

tidb 是國內 pingcap 團隊開發的乙個分布式 sql 資料庫。其靈感來自於 google 的 f1 和 google spanner,tidb 支援包括傳統 rdbms 和 nosql 的特性。架構圖 tidb 集群主要分為三個元件 tidb server tidb server 是無狀態...

TIdb 分布式資料庫

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

DRDS分布式關係型資料庫

1建立單庫單錶 create table single tbl id int,name varchar 30 primary key id 2單庫單錶 同乙個資料庫,同一張表,比如我自的資料庫裡面有一張表student,若想要再建立一張一樣的表,所有欄位都一樣的,則可以用下面的方式編寫 3分庫不分表...