溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

發(fā)布時(shí)間:2020-08-11 06:04:31 來源:ITPUB博客 閱讀:258 作者:騰訊云數(shù)據(jù)庫(kù) 欄目:數(shù)據(jù)庫(kù)

數(shù)據(jù)存儲(chǔ)和處理是一個(gè)古老而重要的技術(shù),從遠(yuǎn)古時(shí)期的結(jié)繩記事到古人的文本記事,再到計(jì)算機(jī)誕生后的各種系統(tǒng),直到E.F.Codd提出關(guān)系模型,人類終于有了一種相對(duì)高效而統(tǒng)一的數(shù)據(jù)處理系統(tǒng)——關(guān)系數(shù)據(jù)庫(kù)。

在傳統(tǒng)的關(guān)系數(shù)據(jù)處理系統(tǒng)中,習(xí)慣把系統(tǒng)按照業(yè)務(wù)特點(diǎn)分為在線事務(wù)處理系統(tǒng)(OLTP)和在線分析處理(OLAP),一般意義上OLTP關(guān)注實(shí)時(shí)在線業(yè)務(wù),要求低延時(shí),高吞吐量,總體數(shù)據(jù)量一般不會(huì)特別大;而OLAP系統(tǒng)用來處理大規(guī)模數(shù)據(jù)的報(bào)表分析,要求低響應(yīng)時(shí)間。兩者因?yàn)閿?shù)據(jù)量,查詢請(qǐng)求,業(yè)務(wù)要求的不用,加上之前技術(shù)條件的限制,就分解為兩個(gè)獨(dú)立的系統(tǒng),即OLTP系統(tǒng)用來處理在線交易,OLAP系統(tǒng)用來進(jìn)行報(bào)表處理,兩者之間通過ETL工具連接。

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

一般這個(gè)兩套數(shù)據(jù)庫(kù)系統(tǒng)是相互獨(dú)立的產(chǎn)品,常見的OLTP產(chǎn)品有IBM DB2,Informix, ORACLE,SQL SERVER,mysql,PostgreSQL等,在OLAP常見的如TeraData,SybaseIQ,GreenPlum,HP VERTICA, SAP HANA,Hadoop大數(shù)據(jù)平臺(tái)等等。在這個(gè)架構(gòu)中,有兩套獨(dú)立的數(shù)據(jù)系統(tǒng)需要維護(hù),增加系統(tǒng)采購(gòu)的成本和系統(tǒng)運(yùn)維的成本;同時(shí)ETL過程中OLTP到OLAP系統(tǒng)的數(shù)據(jù)一致性也是一個(gè)讓人頭疼的問題。

TBase向我們展示了一種革命性的數(shù)據(jù)處理架構(gòu),把OLTP和OLAP處理進(jìn)行融合,在一套數(shù)據(jù)庫(kù)系統(tǒng)中同時(shí)完成兩種操作,同時(shí)降低業(yè)務(wù)復(fù)雜度和業(yè)務(wù)成本。TBase在某省部門上線運(yùn)行超過快四年,在客戶的架構(gòu)升級(jí)中扮演了重要的角色,當(dāng)前在該客戶有快10套TBase系統(tǒng)在運(yùn)行,集群規(guī)??旖咏倥_(tái)。本文希望借助客戶的實(shí)際案例來對(duì)TBase的架構(gòu)進(jìn)行下解析,增加大家對(duì)TBase的了解。

TBase架構(gòu)特點(diǎn)

TBase分布式無共享(share nothing)分布式數(shù)據(jù)庫(kù),集群結(jié)構(gòu)如下:

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

Coordinator:協(xié)調(diào)節(jié)點(diǎn)(簡(jiǎn)稱CN),對(duì)外提供接口,負(fù)責(zé)數(shù)據(jù)的分發(fā)和查詢規(guī)劃,多個(gè)節(jié)點(diǎn)位置對(duì)等,每個(gè)節(jié)點(diǎn)都提供相同的數(shù)據(jù)庫(kù)視圖;在功能上CN上只存儲(chǔ)系統(tǒng)的全局元數(shù)據(jù),并不存儲(chǔ)實(shí)際的業(yè)務(wù)數(shù)據(jù)。

Datanode:處理存儲(chǔ)本節(jié)點(diǎn)相關(guān)的元數(shù)據(jù),每個(gè)節(jié)點(diǎn)還存儲(chǔ)業(yè)務(wù)數(shù)據(jù)的分片,簡(jiǎn)稱DN。在功能上,DN節(jié)點(diǎn)負(fù)責(zé)完成執(zhí)行協(xié)調(diào)節(jié)點(diǎn)分發(fā)的執(zhí)行請(qǐng)求。 

GTM:全局事務(wù)管理器(Global transaction manager.),負(fù)責(zé)管理集群事務(wù)信息,同時(shí)管理集群的全局對(duì)象,比如序列等。
在這個(gè)架構(gòu)下,TBase集群具有下面幾個(gè)能力:多活/多主:每個(gè)coordinator提供相同的集群視圖,可以從任何一個(gè)CN進(jìn)行寫入,業(yè)務(wù)無需感知集群拓?fù)洌?
讀/寫擴(kuò)展:數(shù)據(jù)被分片存儲(chǔ)在了不同的DN,集群的讀/寫能力,隨著集群規(guī)模的擴(kuò)大做而得到提升;

集群寫一致:業(yè)務(wù)在一個(gè)CN節(jié)點(diǎn)發(fā)生的寫事務(wù)會(huì)一致性的呈現(xiàn)在其他的CN節(jié)點(diǎn),就像這些事務(wù)是本CN節(jié)點(diǎn)發(fā)生的一樣;

集群結(jié)構(gòu)透明:數(shù)據(jù)位于不同的數(shù)據(jù)庫(kù)節(jié)點(diǎn)中,當(dāng)查詢數(shù)據(jù)時(shí),不必關(guān)心數(shù)據(jù)位于具體的節(jié)點(diǎn);TBase的share nothing集群架構(gòu)方便了業(yè)務(wù)接入,降低了業(yè)務(wù)接入的門檻。

TBase 的HTAP能力

HTAP是混合事務(wù)和分析處理
Hybrid Transactional/Analytical Processing的簡(jiǎn)寫,TBase通過下面這些技術(shù)構(gòu)建了原生的HTAP能力。

事務(wù)ACID強(qiáng)保證:

在分布式數(shù)據(jù)庫(kù)中,分布式事務(wù)的ACID保證是一個(gè)很有挑戰(zhàn)性的工作,但是業(yè)務(wù)系統(tǒng)在使用數(shù)據(jù)庫(kù)的過程中,往往會(huì)依賴數(shù)據(jù)庫(kù)提供的ACID能力來開發(fā)他們的業(yè)務(wù),因此事務(wù)ACID能力的保證也成了分布式數(shù)據(jù)庫(kù)必不可少的能力。先把數(shù)據(jù)庫(kù)理論中的ACID的定義拿出來,熟悉下這些概念:

ACID,指數(shù)據(jù)庫(kù)事務(wù)正確執(zhí)行的四個(gè)基本要素的縮寫。包含:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。一個(gè)支持事務(wù)(Transaction)的數(shù)據(jù)庫(kù),必須要具有這四種特性,否則在事務(wù)過程(Transaction processing)當(dāng)中無法保證數(shù)據(jù)的正確性,交易過程極可能達(dá)不到交易方的要求。
詳細(xì)解釋下:

原子性(Atomicity):整個(gè)事務(wù)中的所有操作,要么全部完成,要么全部不完成,不可能停滯在中間某個(gè)環(huán)節(jié)。事務(wù)在執(zhí)行過程中發(fā)生錯(cuò)誤,會(huì)被回滾(Rollback)到事務(wù)開始前的狀態(tài),就像這個(gè)事務(wù)從來沒有執(zhí)行過一樣。

一致性(Consistency):事務(wù)必須始終保持系統(tǒng)處于一致的狀態(tài),不管在任何給定的時(shí)間并發(fā)事務(wù)有多少。
也就是說:如果事務(wù)是并發(fā)多個(gè),系統(tǒng)也必須如同串行事務(wù)一樣操作。其主要特征是保護(hù)性和不變性(Preserving an Invariant),以轉(zhuǎn)賬案例為例,假設(shè)有五個(gè)賬戶,每個(gè)賬戶余額是100元,那么五個(gè)賬戶總額是500元,如果在這個(gè)5個(gè)賬戶之間同時(shí)發(fā)生多個(gè)轉(zhuǎn)賬,無論并發(fā)多少個(gè),比如在A與B賬戶之間轉(zhuǎn)賬5元,在C與D賬戶之間轉(zhuǎn)賬10元,在B與E之間轉(zhuǎn)賬15元,五個(gè)賬戶總額也應(yīng)該還是500元,這就是保護(hù)性和不變性。

一致性是分布式事務(wù)中的重大挑戰(zhàn),網(wǎng)絡(luò)時(shí)延和操作系統(tǒng)調(diào)度等不確定因素給分布式 事務(wù)一致性的保證帶來諸多困難,但是分布式數(shù)據(jù)必須有一套完整的分布式事務(wù)一致性邏輯,否則會(huì)帶來災(zāi)難性的后果。

隔離性(Isolation):隔離狀態(tài)執(zhí)行事務(wù),使它們好像是系統(tǒng)在給定時(shí)間內(nèi)執(zhí)行的唯一操作。如果有兩個(gè)事務(wù),運(yùn)行在相同的時(shí)間內(nèi),執(zhí)行相同的功能,事務(wù)的隔離性將確保每一事務(wù)在系統(tǒng)中認(rèn)為只有該事務(wù)在使用系統(tǒng)。這種屬性有時(shí)稱為串行化,為了防止事務(wù)操作間的混淆,必須串行化或序列化請(qǐng)求,使得在同一時(shí)間僅有一個(gè)請(qǐng)求用于同一數(shù)據(jù)。

持久性(Durability):在事務(wù)完成以后,該事務(wù)對(duì)數(shù)據(jù)庫(kù)所作的更改便持久的保存在數(shù)據(jù)庫(kù)之中,并不會(huì)被回滾。

TBase中的事務(wù)嚴(yán)格遵守事務(wù)的ACID,當(dāng)前支持read committed和repeatable read兩個(gè)隔離級(jí)別,并提供可擴(kuò)展的事務(wù)吞吐能力。

在事務(wù)測(cè)試模型TPC-C中有9張表,用來模擬從倉(cāng)庫(kù)中下訂單發(fā)貨,庫(kù)存狀態(tài)查詢,并有一定的回滾比例,每個(gè)事務(wù)中有5-6條SQL,讀寫混合,測(cè)試過程中要求嚴(yán)格遵守ACID。在這個(gè)模型下TBase的處理能力隨著集群規(guī)模的提升近似線性提升,在30臺(tái)(24core,64G,1000Mb)規(guī)模時(shí)可以達(dá)到300W tpm。 

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

Share nothing架構(gòu)決定了隨著集群規(guī)模的增加系統(tǒng)的TPC-C處理能力會(huì)進(jìn)一步的提升,TBase在事務(wù)處理中處理能力可以到千萬(wàn)級(jí)QPS。

完整SQL兼容性:

SQL是訪問數(shù)據(jù)庫(kù)的必備工具,在SQL誕生了幾十年后的今天,大量的軟件產(chǎn)品使用SQL進(jìn)行開發(fā),每個(gè)程序員都或多或少的使用到SQL,數(shù)據(jù)庫(kù)對(duì)SQL的處理能力直接關(guān)系軟件產(chǎn)品的穩(wěn)定和程序開發(fā)的效率。

TBase認(rèn)為:完整SQL兼容性 = 完美的SQL語(yǔ)法兼容+代價(jià)優(yōu)化器+分布式執(zhí)行器。因此TBase在設(shè)計(jì)之初就定下一條設(shè)計(jì)規(guī)則:SQL語(yǔ)法完全兼容SQL2003標(biāo)準(zhǔn),讓用戶像使用普通數(shù)據(jù)庫(kù)一樣來使用TBase。

因此在TBase中,數(shù)據(jù)庫(kù)開發(fā)工程師可以像在之前熟悉的數(shù)據(jù)庫(kù)產(chǎn)品中一樣編寫SQL,不用擔(dān)心數(shù)據(jù)庫(kù)產(chǎn)品的變化帶來額外的學(xué)習(xí)工作量。為業(yè)務(wù)節(jié)省大量的開發(fā)工作,降低業(yè)務(wù)升級(jí)的成本。

除了SQL語(yǔ)法兼容性,為了達(dá)到高效的分布式執(zhí)行,TBase有專門為分布式環(huán)境設(shè)計(jì)的基于代價(jià)的查詢優(yōu)化器,與之配合的是專門為分布式環(huán)境設(shè)計(jì)的分布式執(zhí)行器。

分布式執(zhí)行器提供了目前已知的所有數(shù)據(jù)庫(kù)算子(operator)支持,包括聚合,窗口函數(shù),cube,存儲(chǔ)過程,自定義函數(shù),觸發(fā)器,物化視圖,并行執(zhí)行等等。

通過這些設(shè)計(jì),TBase為業(yè)務(wù)提供良好了的數(shù)據(jù)庫(kù)使用體驗(yàn),大幅降低業(yè)務(wù)的遷移成本和開發(fā)人員的學(xué)習(xí)成本,提高業(yè)務(wù)遷移的效率。 

SQL兼容性和性能我們通過TPC-H來測(cè)試。TPC-H標(biāo)準(zhǔn)滿足了數(shù)據(jù)倉(cāng)庫(kù)領(lǐng)域的測(cè)試需求。TPC-H中 用 3NF 實(shí)現(xiàn)了一個(gè)數(shù)據(jù)倉(cāng)庫(kù),共包含 8 個(gè)基本表, 22 個(gè)查詢(Q1~Q22),其主要評(píng)價(jià)指標(biāo)是各個(gè)查詢的響應(yīng)時(shí)間,即從提交查詢到結(jié)果返回所需時(shí)間(越短越好)。其中的查詢主要涉及:多表關(guān)聯(lián)(超過4張),多表聚合,子查詢等。

下圖是TBase在行存儲(chǔ)模式下TPC-H測(cè)試結(jié)果和國(guó)際知名數(shù)據(jù)庫(kù)倉(cāng)庫(kù)的測(cè)試結(jié)果對(duì)比,從測(cè)試結(jié)果來看,TBase在所有22個(gè)測(cè)試用例中都大幅度的領(lǐng)先。

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

在數(shù)據(jù)庫(kù)語(yǔ)法中,除了SQL標(biāo)準(zhǔn)外,每個(gè)數(shù)據(jù)庫(kù)都產(chǎn)品有自己的本地化語(yǔ)義,在本地化語(yǔ)義方面, TBase完整的的兼容PostgreSQL語(yǔ)法,部分兼容Oracle語(yǔ)法。

完整列存儲(chǔ)能力

數(shù)據(jù)庫(kù)的物理文件存儲(chǔ)格式常見的有兩種:按行存儲(chǔ)和按列存儲(chǔ)。下面對(duì)每種存儲(chǔ)結(jié)構(gòu)給出一個(gè)例子,下表是我們的表結(jié)構(gòu)和定義。

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

按行存儲(chǔ)格式

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

按行存儲(chǔ)格式,數(shù)據(jù)按照邏輯順序相同的方式來來進(jìn)行文件存儲(chǔ),一行中的所有列數(shù)據(jù)按照順序存儲(chǔ)在物理磁盤上,這種格式的好處很明顯,如果同時(shí)訪問一行中的多列數(shù)據(jù)時(shí),一般只需要一次磁盤IO,比較適合OLTP類型的負(fù)載。

按列存儲(chǔ)格式

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

表中的每列數(shù)據(jù)存儲(chǔ)為一個(gè)獨(dú)立的磁盤文件,比如例子中,“姓名”,“部門”,“薪酬”,“家庭信息”每列中的數(shù)據(jù)都為一個(gè)獨(dú)立的數(shù)據(jù)文件,這中格式在一次需要訪問表中少數(shù)列時(shí)相比行存能夠節(jié)省大量的磁盤IO,在聚合類場(chǎng)景下尤其高效,因此多用在OLAP類系統(tǒng)中。

行存儲(chǔ)是TBase的基本存儲(chǔ)格式,為了支持高效的OLAP TBase也提供了完整的列存儲(chǔ)能力,業(yè)務(wù)可以根據(jù)自己的需要對(duì)寫入數(shù)據(jù)庫(kù)中的數(shù)據(jù)選擇需要的存儲(chǔ)格式。TBase的列存儲(chǔ)還支持強(qiáng)大的壓縮能力,支持透明壓縮和輕量級(jí)壓縮,透明壓縮支持gzip,zstd等壓縮算法,輕量級(jí)壓縮算法可以根據(jù)數(shù)據(jù)的特征進(jìn)行高效壓縮,壓縮比高達(dá)400+。

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

TPC-DS是一套決策支持系統(tǒng)測(cè)試基準(zhǔn),主要針對(duì)零售行業(yè)。提供了99個(gè)SQL查詢(SQL 2003),分析數(shù)據(jù)量大,測(cè)試數(shù)據(jù)與實(shí)際商業(yè)數(shù)據(jù)高度相似,同時(shí)具有各種業(yè)務(wù)模型(分析報(bào)告型,數(shù)據(jù)挖掘型等等),主要用來對(duì)決策支持系統(tǒng)進(jìn)行性能性能評(píng)測(cè)。TBase列存儲(chǔ)的 TPC-DS上運(yùn)行了1T的工作集合,測(cè)試結(jié)果如下:

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)


從測(cè)試結(jié)果來看,TBase在列存儲(chǔ)模式下的TPC-DS能力要遠(yuǎn)遠(yuǎn)優(yōu)于業(yè)界標(biāo)桿。

PS:TBase中行表和列表之間可以進(jìn)行任意關(guān)聯(lián)查詢,可以進(jìn)行相互的格式轉(zhuǎn)換(通過insert into select)。

資源隔離能力:

在HTAP系統(tǒng)中,OLTP和OLAP業(yè)務(wù)要同時(shí)運(yùn)行,兩者都會(huì)消耗巨量的資源都,如果不對(duì)資源使用進(jìn)行隔離必然會(huì)造成相互之間的干擾,影像系統(tǒng)的整體穩(wěn)定性和服務(wù)質(zhì)量。

TBase中的資源隔離方案--節(jié)點(diǎn)組的資源隔離方案,如果業(yè)務(wù)的OLTP和OLAP訪問的是不同的數(shù)據(jù),可以使用TBase中的節(jié)點(diǎn)組把OLTP業(yè)務(wù)和OLAP業(yè)務(wù)在集群中分離為兩個(gè)節(jié)點(diǎn)組,對(duì)與OLTP節(jié)點(diǎn)組中的CN設(shè)置OLTP優(yōu)化器,對(duì)于與OLAP節(jié)點(diǎn)組中的CN設(shè)置OLAP優(yōu)化,從硬件上進(jìn)行嚴(yán)格的分離。

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

在TBase中每個(gè)用戶session都有一個(gè)資源配額限制,使用這個(gè)配額可以限制用戶session的CPU,內(nèi)存,網(wǎng)絡(luò)等資源,在OLTP和OLAP不存在絕對(duì)競(jìng)爭(zhēng)的場(chǎng)景也可以讓兩者運(yùn)行在同一個(gè)group,使用用戶資源配置來資源進(jìn)行管控和配置。

TBase資源隔離方式—多副本方式(專利技術(shù)),多平面技術(shù),此時(shí)用戶數(shù)據(jù)還是同一份數(shù)據(jù),通過副本復(fù)制的方式把數(shù)據(jù)從OLTP系統(tǒng)復(fù)制到OLAP系統(tǒng),同時(shí)實(shí)現(xiàn)行存儲(chǔ)到列存儲(chǔ)的轉(zhuǎn)換,通過這種方式從硬件上分離了OLTP和OLAP業(yè)務(wù),同時(shí)數(shù)據(jù)庫(kù)內(nèi)部的數(shù)據(jù)復(fù)制可靠性由數(shù)據(jù)庫(kù)內(nèi)部機(jī)制保證,可靠性遠(yuǎn)遠(yuǎn)高于ETL工具。這種資源隔離技術(shù)TBase中的叫多平面技術(shù)。

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

通過上面這些資源隔離技術(shù),TBase實(shí)現(xiàn)了HTAP中關(guān)鍵的資源隔離技術(shù),可以很好的保證系統(tǒng)的服務(wù)質(zhì)量和改善客戶體驗(yàn)。

TBase安全解決方案:

得益于TBase常年服務(wù)公司內(nèi)部客戶,  TBase建設(shè)了一套很有特色的數(shù)據(jù)安全系統(tǒng),可以說TBase是目前市面上安全能力最出色的數(shù)據(jù)庫(kù)產(chǎn)品,這一特性得到內(nèi)外部客戶的一致認(rèn)可,并作為安全技術(shù)標(biāo)準(zhǔn)寫入到PICC的數(shù)據(jù)庫(kù)安全規(guī)范中。

TBase的數(shù)據(jù)安全系統(tǒng)我們稱之為MLS(multiple level security),這個(gè)體系的整體視圖如下:

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

以三權(quán)分立為基礎(chǔ),消除系統(tǒng)的超級(jí)用戶權(quán)限。在安全管理規(guī)則中增加強(qiáng)制安全規(guī)則,支持對(duì)表進(jìn)行矩陣式的權(quán)限劃分,在數(shù)據(jù)訪問層和存儲(chǔ)層進(jìn)行加密和脫敏控制,防止數(shù)據(jù)拖庫(kù)時(shí)發(fā)生的數(shù)據(jù)泄密:

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

在事后追溯和實(shí)時(shí)審計(jì)中,TBase提供了完整的審計(jì)規(guī)則和豐富的自定義審計(jì)規(guī)則來進(jìn)行支持。通過FGA(細(xì)粒度審計(jì)),TBase還可以做到數(shù)據(jù)越權(quán)訪問的實(shí)時(shí)告警,實(shí)時(shí)防止數(shù)據(jù)越權(quán)訪問。

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

客戶案例場(chǎng)景:

案例1:TBase協(xié)助解決某省匯集庫(kù)瓶頸,助力客戶架構(gòu)升級(jí):
原有系統(tǒng)使用某知名數(shù)據(jù)庫(kù)集群。在支撐數(shù)據(jù)量到300億數(shù)據(jù)時(shí),計(jì)算和查詢的時(shí)候能力已經(jīng)到達(dá)極限,超時(shí)宕機(jī)的場(chǎng)景頻發(fā),入庫(kù)的速率最后只能達(dá)到數(shù)千/秒的極限值,遠(yuǎn)遠(yuǎn)無法滿足業(yè)務(wù)需要。

TBase匯集庫(kù)在系統(tǒng)中的位置:

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

匯集庫(kù)在系統(tǒng)中承擔(dān)著數(shù)據(jù)匯集處理的作用,既要對(duì)接其他關(guān)系數(shù)據(jù)庫(kù),消息中間件等,還要運(yùn)行部分核心系統(tǒng)的OLTP業(yè)務(wù),并在這兩者數(shù)據(jù)的基礎(chǔ)上運(yùn)行模型構(gòu)建,離線行為分析等OLAP類計(jì)算。是一個(gè)典型的HTAP系統(tǒng)。

之前的系統(tǒng)之所以遇到瓶頸,很大程度上也是因?yàn)闃I(yè)務(wù)模型本身計(jì)算量大,模型復(fù)雜超出了RAC的處理效率。

TBase團(tuán)隊(duì)在分析了業(yè)務(wù)的特點(diǎn)后,結(jié)合TBase的本身能力為業(yè)務(wù)制訂詳細(xì)的解決方案。方案的核心要點(diǎn)是OLTP和OLAP的多平面資源隔離技術(shù),我們?yōu)橄到y(tǒng)的請(qǐng)求詳細(xì)的劃分了業(yè)務(wù)的運(yùn)行平面,業(yè)務(wù)的寫入全都集中在主平面,把查詢類的請(qǐng)求根據(jù)計(jì)算復(fù)雜度和實(shí)時(shí)要求劃分到備用平面和主平面。很好的隔離了實(shí)時(shí)請(qǐng)求和離線請(qǐng)求。匯集庫(kù)TBase CN和DN的部署結(jié)構(gòu)如下圖。

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)

匯集集群當(dāng)前有節(jié)點(diǎn)數(shù)近百,存儲(chǔ)數(shù)據(jù)數(shù)百T。120億數(shù)據(jù)的OLTP類業(yè)務(wù)1秒內(nèi)完成處理。 處理性能遠(yuǎn)遠(yuǎn)超越了之前系統(tǒng),成本相比卻大幅降低,得到用戶的高度認(rèn)可!

案例二:物聯(lián)網(wǎng)地理信息系統(tǒng)
業(yè)務(wù)背景:隨著物聯(lián)網(wǎng)的到來,很多的傳感器數(shù)據(jù)需要進(jìn)行接入,這些數(shù)據(jù)中都包含共同點(diǎn),都包含一些點(diǎn)位信息(經(jīng)度和緯度)。結(jié)合這些位置信息和我們已有的地理信息進(jìn)行關(guān)聯(lián)分析,可以分析出很有價(jià)值的數(shù)據(jù),為國(guó)民生產(chǎn)生活所用。

這個(gè)系統(tǒng)的核心功能是要對(duì)地理位置信息進(jìn)行關(guān)聯(lián)計(jì)算和查詢,這個(gè)需要TBase提供的地理信息能力進(jìn)行支持。

PS:TBase支持最先進(jìn)的開源地理信息引擎PostGIS,可以提供豐富高效的地理信息處理能力。

該業(yè)務(wù)系統(tǒng)的部署架構(gòu)如下:

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)


TBase上游對(duì)接接業(yè)務(wù)傳感器后端的ETL,數(shù)據(jù)進(jìn)入集群后先對(duì)清洗變換,并把人和位置信息進(jìn)行關(guān)聯(lián)形成寬表;在寬表的基礎(chǔ)上進(jìn)行GIS OLAP分析,輸出我們需要的高價(jià)值信息。

目前GIS系統(tǒng)規(guī)模:目前5臺(tái)機(jī)器協(xié)調(diào)節(jié)點(diǎn)+6臺(tái)機(jī)器Datanode節(jié)點(diǎn)主備混合部署。
案例三,某核心OLTP在線核查系統(tǒng):某省核心服務(wù)微信公眾號(hào)后臺(tái)系統(tǒng),核心系統(tǒng)結(jié)構(gòu)如下:

最佳實(shí)踐 | 騰訊HTAP數(shù)據(jù)庫(kù)TBase助力某省核心IT架構(gòu)升級(jí)


業(yè)務(wù)的核心TBase服務(wù)器部署內(nèi)網(wǎng),敏感數(shù)據(jù)部署在這個(gè)核心TBase實(shí)例中,互聯(lián)網(wǎng)部署的一臺(tái)應(yīng)用服務(wù)器,運(yùn)行公眾號(hào)相關(guān)的業(yè)務(wù)數(shù)據(jù),并通過網(wǎng)絡(luò)邊界同步工具把數(shù)據(jù)同步到業(yè)務(wù)內(nèi)網(wǎng)。

總結(jié)

TBase構(gòu)建HTAP能力的過程中團(tuán)隊(duì)小伙伴們突破了一個(gè)又一個(gè)技術(shù)難點(diǎn),創(chuàng)造了一個(gè)又一個(gè)“不可能”,回顧這個(gè)過程,就想起一句古語(yǔ)“篳路藍(lán)縷,以啟山林”!對(duì)TBase來說,應(yīng)該是“篳路藍(lán)縷,開拓創(chuàng)新”!

當(dāng)前TBase服務(wù)的外部客戶包括金融,公安,消防,政務(wù),醫(yī)療,社保,能源,稅務(wù)等行業(yè),外部集群超過30個(gè)。在案例中的省份上線運(yùn)行已經(jīng)快4年,集群規(guī)模從最開始的十幾臺(tái)逐漸增長(zhǎng)到現(xiàn)在的近百臺(tái),業(yè)務(wù)系統(tǒng)也有最初的一個(gè)增長(zhǎng)到現(xiàn)在的快十個(gè),在幫助業(yè)務(wù)解決痛點(diǎn)的同時(shí),TBase自己也獲得了很多成長(zhǎng)的機(jī)會(huì),感謝大家對(duì)TBase的關(guān)注。

推薦閱讀

支撐微信支付的數(shù)據(jù)庫(kù)如何提供超300萬(wàn)TPCC事務(wù)處理能力?

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI