真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

TiDB簡介與整體架構(gòu)-創(chuàng)新互聯(lián)

---描述得很牛逼,有待驗(yàn)證

TiDB 簡介

TiDB 是 PingCAP 公司受 Google Spanner / F1 論文啟發(fā)而設(shè)計(jì)的開源分布式 NewSQL 數(shù)據(jù)庫。

創(chuàng)新互聯(lián)建站主營張家口網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),張家口h5小程序定制開發(fā)搭建,張家口網(wǎng)站營銷推廣歡迎張家口等地區(qū)企業(yè)咨詢

TiDB 具備如下 NewSQL 核心特性:

  • SQL支持(TiDB 是 MySQL 兼容的)
  • 水平彈性擴(kuò)展(吞吐可線性擴(kuò)展)
  • 分布式事務(wù)
  • 跨數(shù)據(jù)中心數(shù)據(jù)強(qiáng)一致性保證
  • 故障自恢復(fù)的高可用
  • 海量數(shù)據(jù)高并發(fā)實(shí)時(shí)寫入與實(shí)時(shí)查詢(HTAP 混合負(fù)載)

TiDB 的設(shè)計(jì)目標(biāo)是 100% 的 OLTP 場(chǎng)景和 80% 的 OLAP 場(chǎng)景,更復(fù)雜的 OLAP 分析可以通過 TiSpark 項(xiàng)目來完成。

TiDB 對(duì)業(yè)務(wù)沒有任何侵入性,能優(yōu)雅的替換傳統(tǒng)的數(shù)據(jù)庫中間件、數(shù)據(jù)庫分庫分表等 Sharding 方案。同時(shí)它也讓開發(fā)運(yùn)維人員不用關(guān)注數(shù)據(jù)庫 Scale 的細(xì)節(jié)問題,專注于業(yè)務(wù)開發(fā),極大的提升研發(fā)的生產(chǎn)力。

TiDB 整體架構(gòu)

要深入了解 TiDB 的水平擴(kuò)展和高可用特點(diǎn),首先需要了解 TiDB 的整體架構(gòu)。

TiDB簡介與整體架構(gòu)

TiDB 集群主要分為三個(gè)組件:

TiDB Server

TiDB Server 負(fù)責(zé)接收 SQL 請(qǐng)求,處理 SQL 相關(guān)的邏輯,并通過 PD 找到存儲(chǔ)計(jì)算所需數(shù)據(jù)的 TiKV 地址,與 TiKV 交互獲取數(shù)據(jù),最終返回結(jié)果。 TiDB Server 是無狀態(tài)的,其本身并不存儲(chǔ)數(shù)據(jù),只負(fù)責(zé)計(jì)算,可以無限水平擴(kuò)展,可以通過負(fù)載均衡組件(如LVS、HAProxy 或 F5)對(duì)外提供統(tǒng)一的接入地址。

PD Server

Placement Driver (簡稱 PD) 是整個(gè)集群的管理模塊,其主要工作有三個(gè): 一是存儲(chǔ)集群的元信息(某個(gè) Key 存儲(chǔ)在哪個(gè) TiKV 節(jié)點(diǎn));二是對(duì) TiKV 集群進(jìn)行調(diào)度和負(fù)載均衡(如數(shù)據(jù)的遷移、Raft group leader 的遷移等);三是分配全局唯一且遞增的事務(wù) ID。

PD 是一個(gè)集群,需要部署奇數(shù)個(gè)節(jié)點(diǎn),一般線上推薦至少部署 3 個(gè)節(jié)點(diǎn)。

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 的左閉右開區(qū)間)的數(shù)據(jù),每個(gè) TiKV 節(jié)點(diǎn)會(huì)負(fù)責(zé)多個(gè) Region 。TiKV 使用 Raft 協(xié)議做復(fù)制,保持?jǐn)?shù)據(jù)的一致性和容災(zāi)。副本以 Region 為單位進(jìn)行管理,不同節(jié)點(diǎn)上的多個(gè) Region 構(gòu)成一個(gè) Raft Group,互為副本。數(shù)據(jù)在多個(gè) TiKV 之間的負(fù)載均衡由 PD 調(diào)度,這里也是以 Region 為單位進(jìn)行調(diào)度。

核心特性

水平擴(kuò)展

無限水平擴(kuò)展是 TiDB 的一大特點(diǎn),這里說的水平擴(kuò)展包括兩方面:計(jì)算能力和存儲(chǔ)能力。TiDB Server 負(fù)責(zé)處理 SQL 請(qǐng)求,隨著業(yè)務(wù)的增長,可以簡單的添加 TiDB Server 節(jié)點(diǎn),提高整體的處理能力,提供更高的吞吐。TiKV 負(fù)責(zé)存儲(chǔ)數(shù)據(jù),隨著數(shù)據(jù)量的增長,可以部署更多的 TiKV Server 節(jié)點(diǎn)解決數(shù)據(jù) Scale 的問題。PD 會(huì)在 TiKV 節(jié)點(diǎn)之間以 Region 為單位做調(diào)度,將部分?jǐn)?shù)據(jù)遷移到新加的節(jié)點(diǎn)上。所以在業(yè)務(wù)的早期,可以只部署少量的服務(wù)實(shí)例(推薦至少部署 3 個(gè) TiKV, 3 個(gè) PD,2 個(gè) TiDB),隨著業(yè)務(wù)量的增長,按照需求添加 TiKV 或者 TiDB 實(shí)例。

高可用

高可用是 TiDB 的另一大特點(diǎn),TiDB/TiKV/PD 這三個(gè)組件都能容忍部分實(shí)例失效,不影響整個(gè)集群的可用性。下面分別說明這三個(gè)組件的可用性、單個(gè)實(shí)例失效后的后果以及如何恢復(fù)。

  • TiDB

    TiDB 是無狀態(tài)的,推薦至少部署兩個(gè)實(shí)例,前端通過負(fù)載均衡組件對(duì)外提供服務(wù)。當(dāng)單個(gè)實(shí)例失效時(shí),會(huì)影響正在這個(gè)實(shí)例上進(jìn)行的 Session,從應(yīng)用的角度看,會(huì)出現(xiàn)單次請(qǐng)求失敗的情況,重新連接后即可繼續(xù)獲得服務(wù)。單個(gè)實(shí)例失效后,可以重啟這個(gè)實(shí)例或者部署一個(gè)新的實(shí)例。

  • PD

    PD 是一個(gè)集群,通過 Raft 協(xié)議保持?jǐn)?shù)據(jù)的一致性,單個(gè)實(shí)例失效時(shí),如果這個(gè)實(shí)例不是 Raft 的 leader,那么服務(wù)完全不受影響;如果這個(gè)實(shí)例是 Raft 的 leader,會(huì)重新選出新的 Raft leader,自動(dòng)恢復(fù)服務(wù)。PD 在選舉的過程中無法對(duì)外提供服務(wù),這個(gè)時(shí)間大約是3秒鐘。推薦至少部署三個(gè) PD 實(shí)例,單個(gè)實(shí)例失效后,重啟這個(gè)實(shí)例或者添加新的實(shí)例。

  • TiKV

    TiKV 是一個(gè)集群,通過 Raft 協(xié)議保持?jǐn)?shù)據(jù)的一致性(副本數(shù)量可配置,默認(rèn)保存三副本),并通過 PD 做負(fù)載均衡調(diào)度。單個(gè)節(jié)點(diǎn)失效時(shí),會(huì)影響這個(gè)節(jié)點(diǎn)上存儲(chǔ)的所有 Region。對(duì)于 Region 中的 Leader 結(jié)點(diǎn),會(huì)中斷服務(wù),等待重新選舉;對(duì)于 Region 中的 Follower 節(jié)點(diǎn),不會(huì)影響服務(wù)。當(dāng)某個(gè) TiKV 節(jié)點(diǎn)失效,并且在一段時(shí)間內(nèi)(默認(rèn) 10 分鐘)無法恢復(fù),PD 會(huì)將其上的數(shù)據(jù)遷移到其他的 TiKV 節(jié)點(diǎn)上。

-----------------------------------End[Tony.Tang]2018.3.8-----------------------------------------------------------------

網(wǎng)頁名稱:TiDB簡介與整體架構(gòu)-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://weahome.cn/article/hdgjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部