十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
騰訊TBase是一款騰訊自研高性能HTAP數(shù)據(jù)庫,提供 高性能的OLTP和OLAP能力,同時保證 可擴(kuò)展全局一致性分布式事務(wù)(ACID),為用戶提供高一致性的分布式數(shù)據(jù)庫服務(wù)和高性能的數(shù)據(jù)倉庫服務(wù)。一方面解決了傳統(tǒng)數(shù)據(jù)庫擴(kuò)展不足、數(shù)據(jù)sharding之后數(shù)據(jù)庫事務(wù)的嚴(yán)格一致性難題、數(shù)據(jù)安全、跨地域容災(zāi)等問題,同時具備了高性能事務(wù)處理、數(shù)據(jù)治理、混合負(fù)載支持等能力。
在OLTP方面,TBase采用 MVCC+全局時鐘+2PC+SSI的方式來實(shí)現(xiàn)全局一致性分布式事務(wù),同時引入大量性能優(yōu)化的設(shè)計(jì)來減少全局事務(wù)帶來的開銷。在小規(guī)模集群上,TBase能夠提供 超過300萬TPMTotal的事務(wù)處理吞吐量(工業(yè)界標(biāo)準(zhǔn)TPCC測試集)。
交易毫秒內(nèi)完成
TBase已經(jīng)覆蓋多個行業(yè)的標(biāo)桿用戶,其中對內(nèi)支持了微信廣告、微信支付、騰訊地圖等海量數(shù)據(jù)業(yè)務(wù),一筆交易毫秒內(nèi)即可完成, 支撐了微信支付50倍的交易增長。
TBase是一個提供寫可靠性,多主節(jié)點(diǎn)數(shù)據(jù)同步的關(guān)系數(shù)據(jù)庫集群平臺。你可以將TBase配置一臺或者多臺主機(jī)上,TBase數(shù)據(jù)存儲在多臺物理主機(jī)上面。數(shù)據(jù)表的存儲有兩種方式, 分別是distributed或者replicated ,當(dāng)向TBase發(fā)送查詢 SQL時,TBase會自動向數(shù)據(jù)節(jié)點(diǎn)發(fā)出查詢語句并獲取最終結(jié)果。
TBase采用分布式集群架構(gòu)(如下圖),該架構(gòu)分布式為無共享(share nothing)模式,節(jié)點(diǎn)之間相應(yīng)獨(dú)立,各自處理自己的數(shù)據(jù),處理后的結(jié)果可能向上層匯總或在節(jié)點(diǎn)間流轉(zhuǎn),各處理單元之間通過網(wǎng)絡(luò)協(xié)議進(jìn)行通信,并行處理和擴(kuò)展能力更好,這也意味著只需要簡單的x86服務(wù)器就可以部署TBase數(shù)據(jù)庫集群。
下面簡單解讀一下TBase的三大模塊:
Coordinator:協(xié)調(diào)節(jié)點(diǎn)(簡稱CN)
業(yè)務(wù)訪問入口,負(fù)責(zé)數(shù)據(jù)的分發(fā)和查詢規(guī)劃,多個節(jié)點(diǎn)位置對等,每個節(jié)點(diǎn)都提供相同的數(shù)據(jù)庫視圖;在功能上CN上只存儲系統(tǒng)的全局元數(shù)據(jù),并不存儲實(shí)際的業(yè)務(wù)數(shù)據(jù)。
Datanode:數(shù)據(jù)節(jié)點(diǎn)(簡稱DN)
每個節(jié)點(diǎn)還存儲業(yè)務(wù)數(shù)據(jù)的分片在功能上,DN節(jié)點(diǎn)負(fù)責(zé)完成執(zhí)行協(xié)調(diào)節(jié)點(diǎn)分發(fā)的執(zhí)行請求。
GTM:全局事務(wù)管理器(Global Transaction Manager)
負(fù)責(zé)管理集群事務(wù)信息,同時管理集群的全局對象,比如序列等。
接下來,讓我們來看看如何從源碼開始,完成到TBase集群環(huán)境的搭建。
注意:所有需要安裝TBase集群的機(jī)器上都需要創(chuàng)建
mkdir /data useradd -d /data/tbase tbase