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

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

什么是分布式數(shù)據(jù)庫和TIDB整體架構(gòu)

這篇文章給大家介紹什么是分布式數(shù)據(jù)庫和TIDB 整體架構(gòu),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了蒙自免費(fèi)建站歡迎大家使用!

TIDB 是一個(gè)分布式,強(qiáng)一致的可水平擴(kuò)展的關(guān)系型數(shù)據(jù)庫,在TIDB 設(shè)計(jì)之初,聚焦了四個(gè)設(shè)計(jì)的要點(diǎn)

1  水平擴(kuò)展, 在設(shè)計(jì)之初水平擴(kuò)展是最基本的需求,通過添加機(jī)器的方式擴(kuò)展,存儲(chǔ)的能力和計(jì)算的能力

2  高可用, TIDB 作為分布式數(shù)據(jù)庫,節(jié)點(diǎn)眾多,對(duì)于節(jié)點(diǎn)失效和數(shù)據(jù)庫滾動(dòng)升級(jí),需要解決少量節(jié)點(diǎn)失效的問題

3  ACID 事務(wù), 雖然部分?jǐn)?shù)據(jù)庫為了更高效的存儲(chǔ)和處理數(shù)據(jù),拋棄了SQL和事務(wù),但在生產(chǎn)中的交易場景中,事務(wù)是非常重要的,另一個(gè)主要的原因在于如果事務(wù)的問題不在本地存儲(chǔ),而是業(yè)務(wù)解決或者中間件解決,這樣做比較難做到高效

4 SQL 支持,提供MySQL 的支持,讓整體使用數(shù)據(jù)庫變得簡單

下面是一張TIDB 的結(jié)構(gòu)圖

什么是分布式數(shù)據(jù)庫和TIDB 整體架構(gòu)

TIDB 存儲(chǔ)引擎是TIKV 數(shù)據(jù)庫存儲(chǔ)引擎,采用了分層的架構(gòu)來實(shí)現(xiàn)

1 transaction

2 MVCC

3 raft

4 local kv storage

容災(zāi)與特點(diǎn)

高度分層,底層為ROCKSDB,通過raft來進(jìn)行數(shù)據(jù)存儲(chǔ)的高可用, 高度分層的主要原因是可以更獨(dú)立的進(jìn)行層次的切換。通過多副本的方式進(jìn)行數(shù)據(jù)的存儲(chǔ),通過raft 進(jìn)行強(qiáng)一致,多個(gè)副本中只有一個(gè)leader 其他節(jié)點(diǎn)為follower,其中l(wèi)eader 和follower值不固定的,在leader失效后,會(huì)選擇follower通過算法變?yōu)閘eader的角色變換。

Raft 本身是支持一份數(shù)據(jù)的強(qiáng)一致的多副本,分布式數(shù)據(jù)如何切片,如何將不同的切片放到不同的位置上,這就需要一個(gè)分片的算法,基于hash的分片,或者基于range 劃分,但由于數(shù)據(jù)庫在查詢中會(huì)涉及到一段連續(xù)值的查詢的可能,則利用range分片比較合理。將存儲(chǔ)KEY 的空間進(jìn)行切分,主要根據(jù)KEY VALUE存儲(chǔ)的閾值來進(jìn)行,默認(rèn)96MB進(jìn)行數(shù)據(jù)的切分。

下圖是一個(gè)多節(jié)點(diǎn)中某個(gè)節(jié)點(diǎn) region 從節(jié)點(diǎn) 1 到 節(jié)點(diǎn)4的過程

什么是分布式數(shù)據(jù)庫和TIDB 整體架構(gòu)

則問題是在數(shù)據(jù)的遷移中,誰主導(dǎo)了整體遷移的操控,Placement Driver集群主導(dǎo)了。

什么是分布式數(shù)據(jù)庫和TIDB 整體架構(gòu)

具體可以看上圖,另外在事務(wù)模型中,PD 的leader 會(huì)根據(jù)時(shí)間算法提供時(shí)間戳,作為事務(wù)的標(biāo)簽,整體以去中心化為設(shè)計(jì)理念。在TIDB 中3.0前以樂觀鎖為鎖的設(shè)計(jì),在數(shù)據(jù)事務(wù)處理中并不會(huì)上鎖,而是在提交的過程中上鎖。3.0提供了悲觀鎖,類似傳統(tǒng)數(shù)據(jù)庫的鎖設(shè)計(jì)。

3 TIDB SQL 引擎

下圖是一張TIDB SQL 層的整體的圖形。

什么是分布式數(shù)據(jù)庫和TIDB 整體架構(gòu)

什么是分布式數(shù)據(jù)庫和TIDB 整體架構(gòu)

整體的SQL 處理流程, 如果是計(jì)算 COUNT , 則TIDB PD獲知這些數(shù)據(jù)在那個(gè) region 中,region 根據(jù)where 條件,將符合的條件的數(shù)據(jù)進(jìn)行累加和,最終每個(gè)region將自己的累加和匯總到 TIDB SERVER ,在進(jìn)行聚合SUM。

4  DDL 在線修改,TIDB 根據(jù)  f1-schema-change 的思想來設(shè)計(jì)整體DDL 操作。具體可以參考下面的文檔,總結(jié)出幾句話

什么是分布式數(shù)據(jù)庫和TIDB 整體架構(gòu)

1 給與修改DDL 操作一個(gè)時(shí)間范圍

2 在DDL 操作中,每個(gè)region都會(huì)提供兩種狀態(tài),可以刪除和可寫狀態(tài)

3 租約的概念,在系統(tǒng)中設(shè)定的租約到期后,需要重載SCHEMA

關(guān)于什么是分布式數(shù)據(jù)庫和TIDB 整體架構(gòu)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


本文題目:什么是分布式數(shù)據(jù)庫和TIDB整體架構(gòu)
網(wǎng)址分享:http://weahome.cn/article/pdeoop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部