博客專欄

        EEPW首頁 > 博客 > TiDB體系架構

        TiDB體系架構

        發布人:天翼云開發者 時間:2024-06-24 來源:工程師 發布文章

        本文分享自天翼云開發者社區《TiDB體系架構》,作者:x****n

        image.png

         

        如圖所示,TiDB體系中三大組成部分:PD、TiDB Server、TiKV


        1.PD:負責產生全局的TSO時間、控制Region在TIkv中的分布、產生全局事務ID、還有其他ID。

        2.TiDB:沒有數據落地,接收客戶端sql語句,對sql語句進行解析和編譯,最終形成執行計劃。DDL語句和基于MVCC的老版本數據的回收,也是TiDB Server操作。

        3.TiKV:數據以鍵值隊存儲在TiKV中,主要負責數據持久化、MVCC、Coprocessor、事務以及自身副本的高可用和強一致性(由Muti-raft實現)。

        4.TiFlash:列式存儲引擎,主要由擴展的raft共識算法與Tikv進行數據同步,實現負載均衡、強一致讀取和實時更新,對于OLTP場景這樣就實現了對分析型業務和事務型業務進行隔離,對既有oltp又有olap的是有利的。


        image.png


        TiDB Server有六大功能:

        1.處理客戶端的連接

        2.SQL語句的解析和編譯

        3.關系型數據與KV的轉化

        4.SQL語句的執行

        5.在線DDL的執行

        6.垃圾回收


        image.png

         

        TiKV的五大功能:

        1.Tikv最主要的功能就是負責數據的持久化。

        2.TIkv內部是選擇基于lsm-tree的Rocks DB引擎作為存儲引擎,而Rocksdb通過Wal機制保證數據的不丟失。

        3.分布式事務支持:Tidb數據庫基于percolator事務模型的兩階段提交過程中,每個Tikv會單獨分配存儲鎖的空間,叫CF lock(列簇),這樣,配合Tidb server和PD全局TSO授時服務,就實現了去中心化的兩階段提交。支持樂觀鎖與悲觀鎖。在5.0之后,實現了兩階段提交中,第二階段異步提交功能。在oltp中的高并發、小sql場景里,大大降低了寫入延遲。

        4.MVCC:實現并發控制、隔離級別、分布式事務、數據快速恢復的基礎。歷史數據會存儲一段時間,最后由GC進行回收。

        5.Coprocessor:數據的過濾、部分的聚合、求最大最小值等,這些被下推分布式存儲節點,可以利用Tikv的cpu能力,多個tikv可以并行的進行計算,由于他們已經過濾了數據,相比不計算上傳TiDB server要少,減少了網絡的交互成本,TiDB Server的計算成本也相對減少。


        image.png


        PD的五大功能:

        1.整個集群TiKV的元數據存儲

        2.分配全局ID和事務ID

        3.生成全局時間戳TSO

        4.收集集群信息進行調度

        5.提供TiDBit Dashboard服務


        image.png


        TiFlash的四大功能:

        1.列式存儲提高分析查詢效率

        2.支持強一致性和實時性

        3.業務隔離

        4.智能選擇

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。




        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大连市| 汾西县| 招远市| 礼泉县| 泌阳县| 玉门市| 嘉峪关市| 靖安县| 改则县| 屯留县| 濮阳市| 合江县| 潮州市| 中山市| 招远市| 荔浦县| 古蔺县| 汕头市| 荆州市| 栖霞市| 城市| 喀什市| 夏邑县| 余姚市| 阿合奇县| 武邑县| 织金县| 廉江市| 报价| 清远市| 伊吾县| 芜湖县| 昭苏县| 普陀区| 册亨县| 托克逊县| 萝北县| 丹棱县| 米易县| 富蕴县| 时尚|