TiDB整體架構介紹
TiDB架構圖如下
TiDB 叢集主要分為三個元件:
TiDB Server
TiDB Server 負責接收 SQL 請求,處理 SQL 相關的邏輯,並透過 PD 找到儲存計算所需資料的 TiKV 地址, 與 TiKV 互動
獲取資料,最終返回結果。 TiDB Server 是無狀態的,其本身並不儲存資料,只負責計算,可以無限水平擴充套件, 可以透過
負載均衡元件(如LVS、HAProxy 或 F5)對外提供統一的接入地址。
// 類比MongoDB分片叢集中的mongos或者叫router server
PD Server
Placement Driver (簡稱 PD) 是整個叢集的管理模組,其主要工作有三個: 一是儲存叢集的元資訊(某個 Key 儲存在哪個
TiKV 節點); 二是對 TiKV 叢集進行排程和負載均衡(如資料的遷移、Raft group leader 的遷移等);三是分配全域性唯一
且遞增的事務 ID。
PD 是一個叢集,需要部署奇數個節點,一般線上推薦至少部署 3 個節點。
//類比MongoDB分片叢集中的config server
TiKV Server
TiKV Server 負責儲存資料,從外部看 TiKV 是一個分散式的提供事務的 Key-Value 儲存引擎。儲存資料的基本單位是
Region, 每個 Region 負責儲存一個 Key Range (從 StartKey 到 EndKey 的左閉右開區間)的資料, 每個 TiKV
節點會負責多個 Region 。TiKV 使用 Raft 協議做複製,保持資料的一致性和容災。 副本以 Region 為單位進行管理,
不同節點上的多個 Region 構成一個 Raft Group,互為副本。 資料在多個 TiKV 之間的負載均衡由 PD 排程,
這裡也是以 Region 為單位進行排程。
//類比MongoDB分片叢集中的replica set
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2557202/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- TiDB簡介與整體架構TiDB架構
- newsql新品TiDB的整體架構SQLTiDB架構
- DM 原始碼閱讀系列文章(二)整體架構介紹原始碼架構
- 第5講回顧:FATE整體架構介紹與系統實踐架構
- go微服務框架go-micro深度學習(一) 整體架構介紹Go微服務框架深度學習架構
- Orchard架構介紹架構
- OpenTelemetry架構介紹架構
- LNMP架構介紹LNMP架構
- Docker整體架構Docker架構
- nginx 整體架構Nginx架構
- LAMP架構介紹、MYSQL介紹、安裝LAMP架構MySql
- springboot整體介紹Spring Boot
- iOS MVC架構介紹iOSMVC架構
- Dubbo框架————整體架構框架架構
- 專案-整體架構架構
- 程式碼構建軟體架構圖的工具介紹架構
- nginx介紹(二) 架構篇Nginx架構
- KAFKA介紹(分散式架構)Kafka分散式架構
- LNMP架構介紹與部署LNMP架構
- Kubernetes架構介紹架構
- Pixhawk系統架構介紹架構
- RAG系統架構介紹架構
- 4.3. Oracle整體架構Oracle架構
- Flutter系列(三) 整體架構Flutter架構
- Tomcat的整體架構Tomcat架構
- Underscore 整體架構淺析架構
- Netty整體架構解析Netty架構
- MySQL整體架構與記憶體結構MySql架構記憶體
- TiDB 5.0.0新特性介紹TiDB
- TiDB 底層儲存結構 LSM 樹原理介紹TiDB
- Nginx 架構——【核心流程+模組介紹】Nginx架構
- 介紹基於事件的架構事件架構
- 理解索引:HBase介紹和架構索引架構
- Linux核心的整體架構Linux架構
- jQuery整體架構原始碼解析jQuery架構原始碼
- 軟體架構簡介架構
- LAMP架構(LAMP介紹,mysql/mariaDB介紹,Mysql安裝)LAMP架構MySql
- Flume架構以及應用介紹[轉]架構