騰訊TBase數(shù)據(jù)庫核心原理介紹_第1頁
騰訊TBase數(shù)據(jù)庫核心原理介紹_第2頁
騰訊TBase數(shù)據(jù)庫核心原理介紹_第3頁
騰訊TBase數(shù)據(jù)庫核心原理介紹_第4頁
騰訊TBase數(shù)據(jù)庫核心原理介紹_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、騰訊TBase數(shù)據(jù)庫核心原理介紹技術(shù)創(chuàng)新,變革未來|TBase產(chǎn)品架構(gòu)Local DataLocal catalogDatanode1Global catalogCoordinatorTransation Info Global objectGTM-MTransation Info Global objectGTM-SGlobal catalogCoordinatorGlobal catalogCoordinatorLocal catalogDatanode2Local catalogDatanode3Local DataLocal catalogDatanode4Data Forward B

2、us 集群數(shù)據(jù)交互總線Coordinator(協(xié)調(diào)節(jié)點CN)業(yè)務(wù)訪問入口,每個節(jié)點對等,對外提供一致視圖Local DataLocal DataDatanode(數(shù)據(jù)節(jié)點DN)業(yè)務(wù)數(shù)據(jù)存儲節(jié)點GTM(事務(wù)管理器) 全局事務(wù)管理器,協(xié)調(diào) 集群集群事務(wù),并管理全局對象指標監(jiān)控運維管理實時告警安全審計數(shù)據(jù)治理統(tǒng)一資源管理平臺分布式鎖分析|目錄l T B a s e 事務(wù)核心原理 l T B a s e 分布式執(zhí)行器l T B a s e 安全體系|Sharding模式事務(wù)存在的問題事務(wù)一致性的例子:假設(shè)有A,B兩個賬戶,每個賬戶余額是10元,賬戶總額是20元,在這個2個賬戶之間發(fā) 生轉(zhuǎn)賬,無論并發(fā)多

3、少個,兩個賬戶總額也應該還是20元。事務(wù)1A:Balance += 5B:Balance -= 5preparecommitpreparecommit事務(wù)2sum(Balance) = 10(A) + 10(B)DB1DB2事務(wù)3不一致讀:sum(Balance) = 15(A) + 10(B)1010155事務(wù)4事務(wù)5sum(Balance) = 15(A) + 5(B)不一致讀:sum(Balance) = 10(A) + 5(B)AB|TBase 分布式事務(wù)系統(tǒng)的目標完整事務(wù)能力可擴展高性能低成本低延時,高吞吐分布式事務(wù)ACID分布式事務(wù)故障恢復 分布式死鎖檢測硬件無關(guān), 低成本部署處理

4、能力 隨著集群 規(guī)模增加|TBase 高效可擴展分布式事務(wù)設(shè)計GTMCNCNCNDNDNDNtimestamptimestamptimestamp0302CN,DN向GTM請求時間戳CN,DN的事務(wù)向GTM請求全局時 間戳作為事務(wù)的版本標識01全局時鐘同步GTM提供全局統(tǒng)一時間戳,進行全局 事務(wù)一致性同步04GTM單點可靠性問題多個GTM節(jié)點構(gòu)成集群,主節(jié)點 對外提供服務(wù);主備之間通過日 志同步時間戳狀態(tài),保證GTS核 心服務(wù)可靠性。高性能可擴展分布式事務(wù)通過專利技術(shù)提供高性能可擴展的分 布式事務(wù)能力,專利公開號:CN 110196760 A|TBase分布式事務(wù)提交加速:事務(wù)狀態(tài)緩存gts_

5、mingts_maxbalance1710記錄結(jié)構(gòu)Update balance-=5;gts(7)-1-15xminxmaxGTS Store FileLRU緩存隊列122-1位置(xid)gtsxid:11xid:27表文件GTS Store查詢DN/CN節(jié)點0302記錄頭部GTS延遲寫入記錄創(chuàng)建時頭部GTS無效,首次 掃描到記錄時從GTS Store中獲取 事務(wù)GTS信息并寫入記錄頭部, 加速后續(xù)查詢事務(wù)GTS信息單獨存儲DN/CN節(jié)點中使用GTS Store存儲 每個事務(wù)提交的GTS信息,在事 務(wù)提交時只需要記錄事務(wù)的GTS 信息,事務(wù)提交復雜度為O(1)核心要點01記錄頭部緩存GTS信

6、息記錄頭部緩存事務(wù)的GTS信息, 加速查詢執(zhí)行效率事務(wù)提交寫入|TPCC測試結(jié)果TPCC吞吐量隨著集 群規(guī)模近似線性增長,可到千萬級TPSTPCC Throughput (TPMTotal)Throughput (10k)03503002502001501005024102030# of nodes405060|目錄l T B a s e 事務(wù)核心原理 l T B a s e 分布式執(zhí)行器 l T B a s e 安全體系 |TBase分布式查詢執(zhí)行策略CNDN1DN2A1 join B1數(shù)據(jù)下推CNDN1DN2數(shù)據(jù)復制CNDN1DN2重分布分布式查詢設(shè)計目標:業(yè)務(wù)無需感知底層存儲,像使用單機

7、數(shù)據(jù)庫一樣使用TBase表 A (f1,f2)分布列:f1表 B (f1, f2)分布列:f1分布列 JoinA.f1 = B.f1數(shù)據(jù)重分布A.f2 = B.f2A1B1A2B2A2 join B2A1B1A2B2A1B1A2B2小表廣播A.f1 = B.f2B2B1A1join (B1 + B2)A2join (B2 + B1)A(f2)2B(f2)2A(f2)1B(f2)1A(f2)1join B(f2)1A(f2)2join B(f2)2|TBase分布式查詢問題與挑戰(zhàn)計算力數(shù)據(jù)交互存在的問題導致的結(jié)果解決方案計算能力不足節(jié)點無法快速完成 計算數(shù)據(jù)交互效率低計算等待網(wǎng)絡(luò)數(shù)據(jù), 降低整體

8、性能并行計算 (hashjoin、 aggregate)優(yōu)化數(shù)據(jù)交互框架(單 條拉取-批量推送)|TBase分布式查詢執(zhí)行器并行優(yōu)化并行HashJoin11 2 3 4234inner(tbl_b)1 2 3 4hash每個worker獲取 全量inner(tbl_b) 數(shù)據(jù),構(gòu)建哈希 表。(多份哈希 表、效率低)獲取部分outer(tbl_a)數(shù)據(jù),計算哈希值, 并進行匹配。hashw1matchw2matchhashtablef2outer(tbl_a)f112341234inner(tbl_b)outer(tbl_a)1234hashhashmatchw1mergemergew2 mat

9、ch獲取部分inner(tbl_b) 數(shù)據(jù),構(gòu)建哈希表。(快速構(gòu)建)哈希表合并,得到一 份哈希表,存于共享 內(nèi)存中(節(jié)省資源)獲取部分outer(tbl_a) 數(shù)據(jù),計算哈希值, 并進行匹配。partial hashtable1234shared hashtable1234f1f2|TBase分布式查詢執(zhí)行器并行優(yōu)化并行AggregateGatherpartial results12w1Partial Aggid1221tblpartial results21w2Partial Agg獲取部分數(shù)據(jù)進 行partial agg, 得到中間結(jié)果收集中間結(jié)果, 進行final agg, 得到最終結(jié)果

10、Partial AggPartial Aggid1221tblpartial results12partial results21w1hashhashredistributeredistributepartial results11w2partial results22Final AggFinal Agg數(shù)據(jù)重分布:根據(jù)group by 列計算哈希值根據(jù)哈希值將 數(shù)據(jù)共享給對 應workerlAggregate整 體并行計算l效率提升select id, count(*) from tbl group by id;lGather成為瓶頸l并行度低Final Agg|TBase并行計算優(yōu)化效果

11、查詢計劃樹社區(qū)查詢計劃樹TBasel 增加并行力度l 發(fā)揮并行計算優(yōu) 勢l 提升計算能力并行執(zhí)行并行執(zhí)行非并行執(zhí)行|TBase分布式查詢執(zhí)行器交互原理TBL_A.f1 = TBL_B.f2CNDN1DN2redistributionTBL_B 很大DN3TBL_A(f1-分布列, f2)TBL_B(f1-分布列, f2)localjoinlocalDN2 DN3TBL_ATBL_BlocaljoinlocalDN1 DN3localjoinlocalDN1 DN2select * from tbl_a, tbl_b where tbl_a.f1 = tbl_b.f2;lTBL_A數(shù)據(jù)為本地數(shù)據(jù)

12、l 每個節(jié)點的TBL_B數(shù)據(jù)分 為本地數(shù)據(jù)和來自其他節(jié) 點的數(shù)據(jù)數(shù)據(jù)交互l 每個節(jié)點與其他節(jié)點建立 網(wǎng)絡(luò)連接l 通過socket從其他節(jié)點獲 取計算所需數(shù)據(jù)l 通過socket將其他節(jié)點所 需數(shù)據(jù)進行共享|TBase分布式查詢網(wǎng)絡(luò)交互設(shè)計數(shù)據(jù)分發(fā)共享網(wǎng)絡(luò)等待結(jié)束組裝數(shù)據(jù)到發(fā)送緩沖區(qū)(減少兩次內(nèi)存拷貝)123456hash根據(jù)分布列計算哈希值DN1DN2DN3l輪詢等待優(yōu)先讀取有數(shù)據(jù)的節(jié)點socketl批量讀取每次盡可能多地讀取數(shù)據(jù),置于內(nèi)存中通過內(nèi)核接口將socket fd 共享給生產(chǎn)者發(fā)送數(shù)據(jù)由生產(chǎn)者負責, 消費者等待結(jié)束(沒有頻 繁系統(tǒng)調(diào)用)發(fā)送緩沖區(qū)(無鎖隊列)發(fā)送線程緩沖區(qū)中數(shù)據(jù)達到一

13、定量 時,批量發(fā)送socket批量發(fā)送Remote發(fā)送線程34 DN256 DN3減少內(nèi)存拷貝數(shù)據(jù)批量發(fā)送無鎖隊列降低系統(tǒng)cpu簡化流程,提升整體效率啟動線程 發(fā)送數(shù)據(jù)read socketDN1TBL_BDN2DN3|TBase 數(shù)據(jù)交互并行化數(shù)據(jù)分發(fā)共享網(wǎng)絡(luò)等待結(jié)束23456hash通過內(nèi)核接口將socket fd 共享給生產(chǎn)者發(fā)送數(shù)據(jù)由生產(chǎn)者負責, 消費者等待結(jié)束hash發(fā)送線程發(fā)送緩沖區(qū)緩沖區(qū)中數(shù)據(jù)達到一定量 時,批量發(fā)送socket批量發(fā)送Remote發(fā)送線程W1-DN3socketW1-DN2W2-DN3W2-DN23456w1數(shù)據(jù)分發(fā) w2DN1DN2DN3啟動線程 發(fā)送數(shù)據(jù)并行

14、分發(fā)數(shù)據(jù)TBL_B1650%190%1231900102030405060708090100社區(qū)TBaseTBase并行化MB/s|TBase 分布式查詢綜合執(zhí)行結(jié)果網(wǎng)絡(luò)吞吐量158%性能總體提升: 2X - 10X|目錄l T B a s e 事務(wù)核心原理 l T B a s e 分布式執(zhí)行器 l T B a s e 安全體系|TBase三權(quán)分立安全體系數(shù)據(jù)安全體系三權(quán)分立安全管理員強制安全規(guī)則數(shù)據(jù)透明加密數(shù)據(jù)脫敏審計管理員細粒度審計用戶審計SQL審計數(shù)據(jù)管理員數(shù)據(jù)權(quán)限管理數(shù)據(jù)庫運維|TBase行級安全規(guī)則行級安全規(guī)則三元組姓名部門薪酬家庭信息LevelCatalogGroup蜘蛛俠工程部2

15、00XX公開成都工程部超人采購部300YY機密北京人力資 源火箭浣 熊采購部150ZZ公開成都人力資 源閃電俠工程部100EE機密北京工程部鋼鐵俠董事局500EE絕密北京董事局LevelcatalogGroup機密成都工程部,人力資源LevelcatalogGroup機密北京,成都人力資源成都分公 司經(jīng)理:總部人力 資源經(jīng)理:董事長:LevelcatalogGroup絕密北京,成 都董事局|TBase列級安全規(guī)則普通員工無授權(quán)普通員工無授權(quán)姓名部門薪酬家庭信息LevelcatalogGroup蜘蛛俠工程部200XX公開成都工程部超人采購部300YY機密北京人力資源火箭浣熊采購部150ZZ公開成

16、都人力資源閃電俠工程部100EE機密北京工程部鋼鐵俠董事局500EE絕密北京董事局蜘蛛俠(普通員工):LevelcatalogGroup機密成都工程部姓名部門LevelcatalogGroup蜘蛛俠工程部公開成都工程部鋼鐵俠(董事局主席):LevelcatalogGroup絕密北京,成 都董事局姓名部門薪酬家庭信 息LevelcatalogGroup蜘蛛俠工程部200XX公開成都工程部超人采購部300YY機密北京人力資源火箭浣 熊采購部150ZZ公開成都人力資源閃電俠工程部100EE機密北京工程部鋼鐵俠董事局500EE絕密北京董事局|TBase透明脫敏加密密文buffer明文executor加密加/解密storage密文用戶讀寫脫敏授權(quán)用戶 讀寫脫敏結(jié)果脫敏直接讀取加密+脫敏授權(quán)用戶 讀寫非授權(quán)用戶 讀取脫敏加/解密明文明文非授權(quán)用戶 讀取明文脫敏結(jié)果|TBase安全規(guī)則舉例成都分公司經(jīng)理:LevelCatalogGroup機密成都工程部,人力資源總部人力資源經(jīng)理:LevelCatalogGroup機密北京,成都人力資源對非董事長 加密脫敏對非董事長 加密脫敏董事長:姓名部門薪酬家庭信息LevelCatalogGroup蜘蛛俠工程部200XX公開成都工程部超人采購部300YY機密北

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論