成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

TIDB基礎(chǔ)架構(gòu)

IT那活兒 / 1584人閱讀
TIDB基礎(chǔ)架構(gòu)

點(diǎn)擊上方“IT那活兒”公眾號(hào),關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了!?。?/strong>


Tidb基礎(chǔ)架構(gòu)

與傳統(tǒng)的單機(jī)數(shù)據(jù)庫(kù)相比tidb擁有純分布式價(jià)格,擁有良好的擴(kuò)展性,支持彈性的闊縮容,且兼容大多數(shù)Mysql的語(yǔ)法在大多數(shù)場(chǎng)景下可以直接替換Mysql。
默認(rèn)支持高可用,在少說(shuō)副本失效情況下,數(shù)據(jù)庫(kù)可以自動(dòng)進(jìn)行數(shù)據(jù)修復(fù)和故障轉(zhuǎn)移,支持ACID事務(wù),對(duì)于一些有強(qiáng)一致性需求的場(chǎng)景,如銀行轉(zhuǎn)賬。

圖1
  • Tidb Server
    SQL 層,對(duì)外暴露 MySQL 協(xié)議的連接 endpoint,負(fù)責(zé)接受客戶端的連接,執(zhí)行 SQL 解析和優(yōu)化,最終生成分布式執(zhí)行計(jì)劃。
    TiDB SERVER本身是無(wú)狀態(tài)的,實(shí)踐中可以啟動(dòng)多個(gè) TiDB 實(shí)例,通過(guò)負(fù)載均衡組件(如 LVS、HAProxy 或 F5)對(duì)外提供統(tǒng)一的接入地址,客戶端的連接可以均勻地分?jǐn)傇诙鄠€(gè) TiDB 實(shí)例上以達(dá)到負(fù)載均衡的效果。TiDB Server 本身并不存儲(chǔ)數(shù)據(jù),只是解析 SQL,將實(shí)際的數(shù)據(jù)讀取請(qǐng)求轉(zhuǎn)發(fā)給底層的存儲(chǔ)節(jié)點(diǎn) TiKV。tidb_mem_quota_query 控制每條sql占用緩存閥值大小。
    Tidb server熱點(diǎn)小表緩存:對(duì)于一些熱點(diǎn)小表,tidb server可以將其直接從磁盤中取出存儲(chǔ)在緩存當(dāng)中,以提高查詢速率。首先該表不大于64MB,且表的寫操作極少情況只存在大量讀操作。
    ALTER TABLE users CACHE;

    將查詢頻繁數(shù)據(jù)不大(極少修改)的小表放入緩存來(lái)減清TIKV壓力  table<64MB,開啟小表熱點(diǎn)緩存DDL無(wú)法操作需先關(guān)閉(互斥關(guān)系)

  • TIDB PD(Placement Driver) 
    提供TIDB Dashboard監(jiān)控PD是整個(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 client:PD client是tidb server和PD的中間交互模塊,事務(wù)請(qǐng)求需要先向PD申請(qǐng)TSO時(shí)間戳。
    TSO請(qǐng)求者===>PD Client=返還tsFuture,解析編譯=>TSO請(qǐng)求者
    ====異步請(qǐng)求TSO=>PD==>返還TSO==PD Client==>tso請(qǐng)求者

    當(dāng)PD TSO需求量大處理性能方法:PD會(huì)一次性分享出一段時(shí)間段(3s)的TSO串放入緩存中供TIDB server排隊(duì)獲取。

  • 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左閉右開區(qū)間的數(shù)據(jù),每個(gè) TiKV 節(jié)點(diǎn)會(huì)負(fù)責(zé)多個(gè) Region。region 分布式存儲(chǔ)在TIKV 96-144MB 默認(rèn)3個(gè)副本(高可用性),數(shù)據(jù)都存儲(chǔ)在 TiKV 中。另外,TiKV 中的數(shù)據(jù)都會(huì)自動(dòng)維護(hù)多副本(默認(rèn)為三副本),天然支持高可用和自動(dòng)故障轉(zhuǎn)移。

    TIKV持久化存儲(chǔ)是通過(guò)rocksdbraft(存取日志) rocksdbkv(region)來(lái)實(shí)現(xiàn)的。把數(shù)據(jù)保存在 RocksDB 中,具體的數(shù)據(jù)落地由 RocksDB 負(fù)責(zé)。TiKV 利用 Raft 來(lái)做數(shù)據(jù)復(fù)制,每個(gè)數(shù)據(jù)變更都會(huì)落地為一條 Raft 日志,通過(guò) Raft 的日志復(fù)制功能,將數(shù)據(jù)安全可靠地同步到復(fù)制組的每一個(gè)節(jié)點(diǎn)中。不過(guò)在實(shí)際寫入中,根據(jù) Raft 的協(xié)議,只需要同步復(fù)制到多數(shù)節(jié)點(diǎn),即可安全地認(rèn)為數(shù)據(jù)寫入成功。


RAFT日志復(fù)制

1. propose 請(qǐng)求操作===>leader 將請(qǐng)求變成寫入日志。
2. append  將日志持久化寫入的到RocksDB。
3. replicate 將node1日志復(fù)制給node2,node3....,接收到日志后也要自己進(jìn)行append。
4. committed 不僅僅是leader持久化log其他節(jié)點(diǎn)>50%節(jié)點(diǎn)保障log在多個(gè)節(jié)點(diǎn)丟失不了后進(jìn)行commit。
5. APPLY 將rocksdb raft日志寫入到 rocksdb kv中 (實(shí)際一個(gè)kv有兩個(gè)rocksdb)。


本文作者:李孝林(上海新炬王翦團(tuán)隊(duì))

本文來(lái)源:“IT那活兒”公眾號(hào)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/129245.html

相關(guān)文章

  • TiDB Binlog 源碼閱讀系列文章(一)序

    摘要:總體而言,讀者需要有一定的使用經(jīng)驗(yàn),以及可以讀懂語(yǔ)言程序。內(nèi)容概要本篇作為源碼閱讀系列文章的序篇,會(huì)簡(jiǎn)單的給大家講一下后續(xù)會(huì)講哪些部分以及邏輯順序,方便大家對(duì)本系列文章有整體的了解。小結(jié)本篇文章主要介紹了源碼閱讀系列文章的目的和規(guī)劃。 作者:黃佳豪 TiDB Binlog 組件用于收集 TiDB 的 binlog,并準(zhǔn)實(shí)時(shí)同步給下游,如 TiDB、MySQL 等。該組件在功能上類似于 ...

    whidy 評(píng)論0 收藏0
  • CNCF案例研究:PingCAP

    摘要:中國(guó)論壇提案征集月日截止論壇讓用戶開發(fā)人員從業(yè)人員匯聚一堂,面對(duì)面進(jìn)行交流合作。贊助方案出爐多元化獎(jiǎng)學(xué)金現(xiàn)正接受申請(qǐng)即將首次合體落地中國(guó) PingCAP將其TiDB數(shù)據(jù)庫(kù)平臺(tái)押注在云原生上 showImg(https://segmentfault.com/img/bVbogKp?w=508&h=477); 公司:PingCAP地點(diǎn):中國(guó)北京和加利福尼亞州圣馬特奧行業(yè):軟件 挑戰(zhàn) 流行的...

    h9911 評(píng)論0 收藏0
  • CNCF案例研究:PingCAP

    摘要:中國(guó)論壇提案征集月日截止論壇讓用戶開發(fā)人員從業(yè)人員匯聚一堂,面對(duì)面進(jìn)行交流合作。贊助方案出爐多元化獎(jiǎng)學(xué)金現(xiàn)正接受申請(qǐng)即將首次合體落地中國(guó) PingCAP將其TiDB數(shù)據(jù)庫(kù)平臺(tái)押注在云原生上 showImg(https://segmentfault.com/img/bVbogKp?w=508&h=477); 公司:PingCAP地點(diǎn):中國(guó)北京和加利福尼亞州圣馬特奧行業(yè):軟件 挑戰(zhàn) 流行的...

    notebin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<