新聞中心
1、簡(jiǎn)介
TiDB 是由PingCAP 公司研發(fā)設(shè)計(jì)的開(kāi)源分布式 HTAP (Hybrid Transactional and Analytical Processing) 數(shù)據(jù)庫(kù),它結(jié)合了傳統(tǒng)的關(guān)系型和非關(guān)系型數(shù)據(jù)庫(kù)的最佳特性。TiDB 兼容 MySQL,支持無(wú)限的水平擴(kuò)展,具備強(qiáng)一致性和高可用等特性。

并提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解決方案
2、TiDB的組成
TiDB主要包括三個(gè)核心組件:TiDB Server,PD Server和TiKV Server。下面簡(jiǎn)單給大家介紹一下。
2.1 TiDB Server
屬于SQL 層,是對(duì)外暴露 MySQL 協(xié)議的連接 endpoint,主要 負(fù)責(zé)接受客戶(hù)端的連接,執(zhí)行 SQL 解析和優(yōu)化,最終生成分布式執(zhí)行計(jì)劃。TiDB 層本身是無(wú)狀態(tài)的,可以啟動(dòng)多個(gè) TiDB 實(shí)例,通過(guò)負(fù)載均衡組件(如 LVS、HAProxy 或 F5)對(duì)外提供統(tǒng)一的接入地址,客戶(hù)端的連接可以均勻地分?jǐn)傇诙鄠€(gè) TiDB 實(shí)例上以達(dá)到負(fù)載均衡的效果。TiDB Server 本身并不存儲(chǔ)數(shù)據(jù),只負(fù)責(zé)解析SQL,將實(shí)際的數(shù)據(jù)讀取請(qǐng)求轉(zhuǎn)發(fā)給底層的存儲(chǔ)節(jié)點(diǎn) TiKV(或 TiFlash)
2.2 PD Server(PD)
PD主要負(fù)責(zé)整個(gè) TiDB 集群的元信息管理模塊。
負(fù)責(zé)存儲(chǔ)每個(gè) TiKV 節(jié)點(diǎn)實(shí)時(shí)的數(shù)據(jù)分布情況和集群的整體拓?fù)浣Y(jié)構(gòu),提供 TiDB Dashboard 管控界面,并為分布式事務(wù)分配事務(wù) ID。
PD 不僅存儲(chǔ)元信息,同時(shí)還會(huì)根據(jù) TiKV 節(jié)點(diǎn)實(shí)時(shí)上報(bào)的數(shù)據(jù)分布狀態(tài),下發(fā)數(shù)據(jù)調(diào)度命令給具體的 TiKV 節(jié)點(diǎn)。
PD 由至少3個(gè)節(jié)點(diǎn)構(gòu)成,擁有高可用的能力。PD 通過(guò) Raft 協(xié)議保證數(shù)據(jù)的安全性。一般建議部署奇數(shù)個(gè) PD 節(jié)點(diǎn)。
2.3 TiKV Server
TiKV Server 主要負(fù)責(zé)存儲(chǔ)數(shù)據(jù),從外部看 TiKV 是一個(gè)分布式的提供事務(wù)的 Key-Value 存儲(chǔ)引擎。
存儲(chǔ)數(shù)據(jù)的基本單位是 Region,每個(gè) Region 負(fù)責(zé)存儲(chǔ)一個(gè) Key Range (從 StartKey 到EndKey 的左閉右開(kāi)區(qū)間)的數(shù)據(jù),每個(gè) TiKV 節(jié)點(diǎn)會(huì)負(fù)責(zé)多個(gè) Region 。TiKV 使用 Raft協(xié)議做復(fù)制,保持?jǐn)?shù)據(jù)的一致性和容災(zāi)。
3、TiDB的關(guān)鍵特性
3.1 高度兼容 MySQL
大部分情況下,不需要調(diào)整代碼就可以輕松從MySQL遷移至TiDB數(shù)據(jù)庫(kù),分庫(kù)分表后的MySQL集群也可以通過(guò)TiDB工具進(jìn)行實(shí)時(shí)遷移。
3.2 水平彈性擴(kuò)展
通過(guò)簡(jiǎn)單地增加新節(jié)點(diǎn)就可以實(shí)現(xiàn)TiDB的水平擴(kuò)展,按業(yè)務(wù)需要擴(kuò)展吞吐量或存儲(chǔ),輕松應(yīng)對(duì)高并發(fā)、海量數(shù)據(jù)場(chǎng)景,按需的方式也可以節(jié)約不少的成本。
3.3 分布式事務(wù)
TiDB完全支持標(biāo)準(zhǔn)的 ACID 事務(wù)。
3.4 金融級(jí)別高可用
相比于傳統(tǒng)主從復(fù)制方案,基于Raft的多數(shù)派選舉協(xié)議可以提供金融級(jí)的 100% 數(shù)據(jù)強(qiáng)一致性保證,且在不丟失大多數(shù)副本的前提下,可以實(shí)現(xiàn)故障的自動(dòng)恢復(fù),不需要認(rèn)為的介入處理。
3.5 一站式 HTAP 解決方案
TiDB 作為典型的 OLTP 行存數(shù)據(jù)庫(kù),同時(shí)兼具強(qiáng)大的 OLAP 性能,配合 TiSpark,可提供一站式 HTAP解決方案,一份存儲(chǔ)同時(shí)處理OLTP & OLAP(OLAP、OLTP的介紹和比較 )無(wú)需傳統(tǒng)繁瑣的 ETL 過(guò)程。
3.6 云原生 SQL 數(shù)據(jù)庫(kù)
TiDB是為云服務(wù)而設(shè)計(jì)的數(shù)據(jù)庫(kù),可以同 Kubernetes 容器化技術(shù)深度耦合,支持公有云、私有云和混合云。使安裝部署、配置和維護(hù)變得十分簡(jiǎn)單。
4、適用場(chǎng)景
4.1 千萬(wàn)級(jí)以上數(shù)據(jù)存儲(chǔ)
針對(duì)至少有千萬(wàn)行級(jí)別的大表,或者數(shù)據(jù)庫(kù)schema的占空空間有T級(jí)別的數(shù)據(jù)量比較適合TiDB;如果數(shù)據(jù)存儲(chǔ)規(guī)模少于500G且每秒查詢(xún)量少或并發(fā)量小則建議使用mysql。
4.2 高并發(fā)
如果你的并發(fā)量高達(dá)十萬(wàn)以上,可以實(shí)用TiDB,省去了中間件和分庫(kù)分表的麻煩。
4.3 運(yùn)維人員不足
TiDB可以自動(dòng)維護(hù)數(shù)據(jù)的強(qiáng)一致性和高可用,大大減少了數(shù)據(jù)庫(kù)運(yùn)維的工作。
分享名稱(chēng):聊聊國(guó)產(chǎn)數(shù)據(jù)庫(kù)TiDB相關(guān)知識(shí),你學(xué)會(huì)了嗎?
本文網(wǎng)址:http://www.5511xx.com/article/dhedgoh.html


咨詢(xún)
建站咨詢(xún)
