国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

TIDB基礎架構

IT那活兒 / 1541人閱讀
TIDB基礎架構

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!!


Tidb基礎架構

與傳統的單機數據庫相比tidb擁有純分布式價格,擁有良好的擴展性,支持彈性的闊縮容,且兼容大多數Mysql的語法在大多數場景下可以直接替換Mysql。
默認支持高可用,在少說副本失效情況下,數據庫可以自動進行數據修復和故障轉移,支持ACID事務,對于一些有強一致性需求的場景,如銀行轉賬。

圖1
  • Tidb Server
    SQL 層,對外暴露 MySQL 協議的連接 endpoint,負責接受客戶端的連接,執行 SQL 解析和優化,最終生成分布式執行計劃。
    TiDB SERVER本身是無狀態的,實踐中可以啟動多個 TiDB 實例,通過負載均衡組件(如 LVS、HAProxy 或 F5)對外提供統一的接入地址,客戶端的連接可以均勻地分攤在多個 TiDB 實例上以達到負載均衡的效果。TiDB Server 本身并不存儲數據,只是解析 SQL,將實際的數據讀取請求轉發給底層的存儲節點 TiKV。tidb_mem_quota_query 控制每條sql占用緩存閥值大小。
    Tidb server熱點小表緩存:對于一些熱點小表,tidb server可以將其直接從磁盤中取出存儲在緩存當中,以提高查詢速率。首先該表不大于64MB,且表的寫操作極少情況只存在大量讀操作。
    ALTER TABLE users CACHE;

    將查詢頻繁數據不大(極少修改)的小表放入緩存來減清TIKV壓力  table<64MB,開啟小表熱點緩存DDL無法操作需先關閉(互斥關系)

  • TIDB PD(Placement Driver) 
    提供TIDB Dashboard監控PD是整個Tidb的大腦,負責存儲每個 TiKV 節點實時的數據分布情況和集群的整體拓撲結構,提供 TiDB Dashboard 管控界面,并為分布式事務分配事務 ID。PD 不僅存儲元信息,同時還會根據 TiKV 節點實時上報的數據分布狀態,下發數據調度命令給具體的 TiKV 節點。此外,PD 本身也是由至少 3 個節點構成,擁有高可用的能力。
    PD client:PD client是tidb server和PD的中間交互模塊,事務請求需要先向PD申請TSO時間戳。
    TSO請求者===>PD Client=返還tsFuture,解析編譯=>TSO請求者
    ====異步請求TSO=>PD==>返還TSO==PD Client==>tso請求者

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

  • TIKV Server
    負責存儲數據,從外部看 TiKV 是一個分布式的提供事務的 Key-Value值存儲引擎。存儲數據的基本單位是 Region,每個 Region 負責存儲一個 Key Range左閉右開區間的數據,每個 TiKV 節點會負責多個 Region。region 分布式存儲在TIKV 96-144MB 默認3個副本(高可用性),數據都存儲在 TiKV 中。另外,TiKV 中的數據都會自動維護多副本(默認為三副本),天然支持高可用和自動故障轉移。

    TIKV持久化存儲是通過rocksdbraft(存取日志) rocksdbkv(region)來實現的。把數據保存在 RocksDB 中,具體的數據落地由 RocksDB 負責。TiKV 利用 Raft 來做數據復制,每個數據變更都會落地為一條 Raft 日志,通過 Raft 的日志復制功能,將數據安全可靠地同步到復制組的每一個節點中。不過在實際寫入中,根據 Raft 的協議,只需要同步復制到多數節點,即可安全地認為數據寫入成功。


RAFT日志復制

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


本文作者:李孝林(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129245.html

相關文章

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

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

    whidy 評論0 收藏0
  • CNCF案例研究:PingCAP

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

    h9911 評論0 收藏0
  • CNCF案例研究:PingCAP

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

    notebin 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<