一套“簡單”架構(gòu)下實現(xiàn)的HTAP能支持10億級用戶數(shù)據(jù),尊嘟假嘟?

來源:騰訊云數(shù)據(jù)庫
作者:騰訊云數(shù)據(jù)庫
時間:2023-08-22
2501
“HTAP”作為數(shù)據(jù)庫領(lǐng)域的當紅炸子雞,其熱捧度逐年遞增。特別是在隨著國產(chǎn)化數(shù)據(jù)庫浪潮逐漸替代原有數(shù)據(jù)庫架構(gòu)的進程中,業(yè)務(wù)系統(tǒng)中各類的復(fù)雜數(shù)據(jù)查詢與在線交易交織的場景需求日益增多,使得業(yè)務(wù)對數(shù)據(jù)庫HTAP的能力要求逐漸嚴格起來。

“HTAP”作為數(shù)據(jù)庫領(lǐng)域的當紅炸子雞,其熱捧度逐年遞增。特別是在隨著國產(chǎn)化數(shù)據(jù)庫浪潮逐漸替代原有數(shù)據(jù)庫架構(gòu)的進程中,業(yè)務(wù)系統(tǒng)中各類的復(fù)雜數(shù)據(jù)查詢與在線交易交織的場景需求日益增多,使得業(yè)務(wù)對數(shù)據(jù)庫HTAP的能力要求逐漸嚴格起來。

隨著各大廠商的不斷努力,市面上也涌現(xiàn)了一大批優(yōu)秀的HTAP數(shù)據(jù)庫產(chǎn)品。TDSQL很早就對外提供了HTAP能力,并在多行業(yè)場景應(yīng)用中落地,很多小伙伴也都很關(guān)注TDSQL的HTAP架構(gòu)到底是如何實現(xiàn)的,今天就好好跟大家說道說道。

一套“簡單即可靠”的架構(gòu)

在討論這個問題之前,我們需要知道TDSQL是什么產(chǎn)品?TDSQL是基于騰訊自研內(nèi)核TXSQL打造的企業(yè)級分布式數(shù)據(jù)庫,在TXSQL的基礎(chǔ)之上解決了透明分布式事務(wù)、一致性、高可用、擴容、性能等問題,同時做了大量內(nèi)核工作,如線程池、主備的強同步優(yōu)化、binlog優(yōu)化、復(fù)制限速、大表刪除、透明加密、審計、讀寫分離等。

但作為HTAP數(shù)據(jù)庫而言,不同負載場景下的“隔離性”、高并發(fā)場景下TP與AP各自的極限性能、數(shù)據(jù)的“新鮮程度”,都是數(shù)據(jù)庫設(shè)計過程中需要進一步考慮的問題。為此,TDSQL在已經(jīng)有著優(yōu)秀的“在線交易處理內(nèi)核能力”的基礎(chǔ)上,秉承“簡單即可靠”的設(shè)計理念,通過松耦合的方式擴展了一個全新的分析引擎。

下圖即是TDSQL全新的HTAP產(chǎn)品架構(gòu),TDSQL在底層通過多個數(shù)據(jù)分片將數(shù)據(jù)表均勻分散在不同的存儲節(jié)點中,并通過主從復(fù)制的能力實現(xiàn)數(shù)據(jù)高可用。

640.png

TDSQL的SQL Engine負責(zé)接收用戶的業(yè)務(wù)SQL,并在此基礎(chǔ)之上實現(xiàn)分布式事務(wù)等相關(guān)能力。在行存數(shù)據(jù)節(jié)點中,數(shù)據(jù)均是以"行"的形式進行存儲的,這種模式能夠很好地兼顧數(shù)據(jù)庫的擴展性和高并發(fā)的數(shù)據(jù)變更與查詢,以支撐到超高并發(fā)的在線交易型業(yè)務(wù)。

那么在多表join、數(shù)據(jù)聚集、排序等復(fù)雜查詢場景下又是如何實現(xiàn)的呢?前文中也有提到,TDSQL在行存節(jié)點的基礎(chǔ)之上擴展了一個分析引擎,因為TDSQL是多分片的模式,分析引擎為每一個TDSQL分片(SET)啟動一個列存的從庫,然后自動同步對應(yīng)的分片數(shù)據(jù)到列存從庫中,最后由統(tǒng)一的MPP SQL Engine組件解析用戶的復(fù)雜SQL,并生成MPP計劃下推到各列存節(jié)點中執(zhí)行,從而最終加速了復(fù)雜查詢的執(zhí)行效率。

當然分析引擎的能力肯定不僅僅是MPP和列存,其中還包括了向量化的執(zhí)行引擎、基于代價的優(yōu)化器優(yōu)化、數(shù)據(jù)壓縮等各類關(guān)于分析型查詢的能力加持。

TDSQL的優(yōu)勢

在這樣一套“簡單”的架構(gòu)下,TDSQL提供了哪些HTAP能力優(yōu)勢呢?

松耦合度行列混存架構(gòu)(隔離性好)

TDSQL最終采用了松耦合的部署模式,對同一份數(shù)據(jù)采用行存與列存分別存儲,雖然增加了存儲消耗,但這樣做的好處是保證了在線交易性能又保證高速的分析能力。通過這種分散的部署方式確保了隔離性,避免互相影響。

分布式MPP計算引擎與向量化執(zhí)行(性能優(yōu))

因為TDSQL是shared nothing的分布式架構(gòu),相對而言無論是豎向還是橫向的擴容都能支持。并且分析引擎還擴展支持了全節(jié)點并行處理,與高效向量化執(zhí)行引擎,能夠支持數(shù)億級數(shù)據(jù)join場景下的超高性能。

高穩(wěn)定性列式數(shù)據(jù)存儲(穩(wěn)定性高)

底層列式存儲是基于類LSM Tree引擎結(jié)構(gòu)的實現(xiàn),支持高壓縮比的數(shù)據(jù)存儲。因為LSM Tree對數(shù)據(jù)的更新采用append的方式進行,后端會定期的compaction,而compaction占用大量IO從而影響系統(tǒng)性能的穩(wěn)定,所以我們對于LSM Tree的compaction的機制進行了較大的優(yōu)化和能力提升,能夠支持HTAP場景中存儲的超高性能穩(wěn)定性,在高數(shù)據(jù)變更負載情況下,查詢性能依然波動較低。

可插拔引擎與可選擇式加速(成本低)

作為TDSQL的一個分析引擎組件,可根據(jù)實際情況進行開啟或關(guān)閉,并且同樣支持按需指定對象進行分析加速,無需占用過多磁盤空間。

實時數(shù)據(jù)分析與查詢(實時性高)

TDSQL列存引擎的數(shù)據(jù)是實時從行存節(jié)點中進行同步而來。行存與列存數(shù)據(jù)默認異步同步模式,可達到毫秒級同步延遲。

統(tǒng)一訪問入口,業(yè)務(wù)改造量?。ㄒ子眯愿撸?/p>

完全兼容和適配TDSQL架構(gòu)與語法。對現(xiàn)有TDSQL集群升級簡單,影響小,并且支持多種數(shù)據(jù)訪問模式,可充分滿足業(yè)務(wù)的實際需求,接入門檻低。

適用場景

那么當前的TDSQL HTAP適用于什么業(yè)務(wù)場景呢?

超大數(shù)據(jù)規(guī)模的HTAP混合查詢類業(yè)務(wù)

在大型SaaS類業(yè)務(wù)中,用戶規(guī)模大,不同用戶以租戶維度共用一套實例,并且伴隨著數(shù)據(jù)量增大,在線數(shù)據(jù)更新也比較頻繁。同時還需要對數(shù)據(jù)進行報告分析,實時為決策者提供詳細報表,以供經(jīng)營分析。

或者如廣告業(yè)務(wù)推薦,業(yè)務(wù)后端需要利用數(shù)據(jù)針對不同客戶情況進行廣告推薦,需要大量復(fù)雜查詢。

通過引入TDSQL HTAP的解決方案,可以使用分布式數(shù)據(jù)庫的能力應(yīng)對用戶超高并發(fā)的在線交易業(yè)務(wù),并且在某些混合復(fù)雜查詢業(yè)務(wù)的場景下,通過分析引擎進行加速,以達到超高的執(zhí)行和查詢效率。

640 (1).png

2020年,TDSQL助力“第七次全國人口普查”電子化高效推進,實現(xiàn)海量數(shù)據(jù)高速入庫和海量數(shù)據(jù)的多維統(tǒng)計分析,支持了十億級用戶數(shù)據(jù)、七百萬個終端和百萬級峰值TPS(每秒事務(wù)處理量),平穩(wěn)、高效支撐第七次全國人口普查工作完成。詳情點擊閱讀:14億人的大項目,拿下!

流批一體大數(shù)據(jù)架構(gòu)替換場景

一般流批一體的大數(shù)據(jù)架構(gòu)實際上更適用于PB以上的超大數(shù)據(jù)集的在線和離線分析。但是無論怎么樣,必然會涉及到時間同步的延遲性問題,以及多種的異構(gòu)數(shù)據(jù)庫產(chǎn)品,維護成本較高昂。

而采用TDSQL HTAP一體化的架構(gòu)實現(xiàn),可滿足在一定量數(shù)據(jù)量級下的數(shù)據(jù)在線實時分析,通過在TDSQL基礎(chǔ)上擴展資源,總體成本可降低80%,運維復(fù)雜度也極大的減少。

640 (2).png

數(shù)據(jù)跑批歸檔與定時報表

當客戶場景有著大量數(shù)據(jù)密集型分析業(yè)務(wù),如銀行風(fēng)控/貸款等業(yè)務(wù)場景中,業(yè)務(wù)決策者不僅需要實時查看業(yè)務(wù)報表,還伴隨著超大規(guī)模數(shù)據(jù)并發(fā)讀寫,定時數(shù)據(jù)批量查詢寫入下游業(yè)務(wù)的大數(shù)據(jù)跑批,并且需要保證分析性能與交易數(shù)據(jù)完整性,要求既能滿足超高線上TPS的交易業(yè)務(wù),又能夠同時滿足實時分析的需求,兩者不能互相影響。

通過引入TDSQL HTAP可提升:

分析時效提升:數(shù)據(jù)實時查詢,幾乎無延時。

分析性能:報表查詢基本秒級返回,無需等待BI緩慢刷新,對比傳統(tǒng)數(shù)據(jù)庫性能提升210%。

成本降低:將原有的數(shù)據(jù)分散管理變?yōu)榧谢瘮?shù)據(jù)管控和數(shù)據(jù)治理,降低維護成本。

640 (3).png

數(shù)據(jù)降級存儲

隨著業(yè)務(wù)規(guī)模的增長,業(yè)務(wù)數(shù)據(jù)規(guī)模逐步增長,為了確保在線交易性能,需要定時歸檔數(shù)據(jù)。而在歸檔后數(shù)據(jù)不能直接刪除,需要合并查詢輸出報告或者留存。在此類場中對數(shù)據(jù)庫吞吐性能要求高,且不能影響在線業(yè)務(wù)。

通過引入TDSQL HTAP可支持:

高效歸檔效率:隨時支持動態(tài)數(shù)據(jù)停止同步,以及歷史數(shù)據(jù)刪除,效率高。

多級歸檔機制:支持列存壓縮歸檔方案與落冷磁盤歸檔方案。

歸檔數(shù)據(jù)定時查詢:完成歸檔后的數(shù)據(jù)依然支持超高速查詢,不影響數(shù)據(jù)訪問。

640 (4).png

結(jié)語

當然,本文僅簡單介紹了一些TDSQL HTAP方面實現(xiàn)的能力和架構(gòu),詳細的介紹在后續(xù)的文章中也會逐步提到,歡迎保持關(guān)注“騰訊云數(shù)據(jù)庫”官方微信公眾號,我們將為您分享更多價值內(nèi)容。目前整體使用TDSQL HTAP中分析引擎的集群規(guī)模已經(jīng)突破數(shù)萬核心、存儲容量達到10PB,支撐了數(shù)百家內(nèi)外客戶的生產(chǎn)環(huán)境作業(yè)。

歡迎更多用戶體驗全新的TDSQL HTAP解決方案,相信在實際的體驗中會發(fā)現(xiàn),無論是性能的提升還是能力的擴展都將是一場驚喜之旅。

立即登錄,閱讀全文
原文鏈接:點擊前往 >
文章來源:騰訊云數(shù)據(jù)庫
版權(quán)說明:本文內(nèi)容來自于騰訊云數(shù)據(jù)庫,本站不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多