一套“簡單”架構下實現的 HTAP 能支持10億級用戶數據,尊嘟假嘟?
時間:2023-08-24 08:46:39
“HTAP”作為數據庫領域的當紅炸子雞,其熱捧度逐年遞增。特別是在隨著國產化數據庫浪潮逐漸替代原有數據庫架構的進程中,業務系統中各類的復雜數據查詢與在線交易交織的場景需求日益增多,使得業務對數據庫HTAP的能力要求逐漸嚴格起來。
隨著各大廠商的不斷努力,市面上也涌現了一大批優秀的HTAP數據庫產品。TDSQL很早就對外提供了HTAP能力,并在多行業場景應用中落地,很多小伙伴也都很關注TDSQL的HTAP架構到底是如何實現的,今天就好好跟大家說道說道。
【資料圖】
一套“簡單即可靠”的架構
在討論這個問題之前,我們需要知道TDSQL 是什么產品?TDSQL 是基于騰訊自研內核TXSQL打造的企業級分布式數據庫,在TXSQL的基礎之上解決了透明分布式事務、一致性、高可用、擴容、性能等問題,同時做了大量內核工作,如線程池、主備的強同步優化、binlog優化、復制限速、大表刪除、透明加密、審計、讀寫分離等。
但作為HTAP數據庫而言,不同負載場景下的“隔離性”、高并發場景下TP與AP各自的極限性能、數據的“新鮮程度”,都是數據庫設計過程中需要進一步考慮的問題。為此,TDSQL 在已經有著優秀的“在線交易處理內核能力”的基礎上,秉承“簡單即可靠”的設計理念,通過松耦合的方式擴展了一個全新的分析引擎。
下圖即是TDSQL 全新的HTAP產品架構,TDSQL 在底層通過多個數據分片將數據表均勻分散在不同的存儲節點中,并通過主從復制的能力實現數據高可用。
TDSQL 的SQL Engine負責接收用戶的業務SQL,并在此基礎之上實現分布式事務等相關能力。在行存數據節點中,數據均是以"行"的形式進行存儲的,這種模式能夠很好地兼顧數據庫的擴展性和高并發的數據變更與查詢,以支撐到超高并發的在線交易型業務。
那么在多表join、數據聚集、排序等復雜查詢場景下又是如何實現的呢?前文中也有提到,TDSQL 在行存節點的基礎之上擴展了一個分析引擎,因為TDSQL 是多分片的模式,分析引擎為每一個TDSQL分片(SET)啟動一個列存的從庫,然后自動同步對應的分片數據到列存從庫中,最后由統一的MPP SQL Engine組件解析用戶的復雜SQL,并生成MPP計劃下推到各列存節點中執行,從而最終加速了復雜查詢的執行效率。
當然分析引擎的能力肯定不僅僅是MPP 和列存,其中還包括了向量化的執行引擎、基于代價的優化器優化、數據壓縮等各類關于分析型查詢的能力加持。
TDSQL的優勢
在這樣一套“簡單”的架構下,TDSQL 提供了哪些HTAP能力優勢呢?
松耦合度行列混存架構(隔離性好)TDSQL最終采用了松耦合的部署模式,對同一份數據采用行存與列存分別存儲,雖然增加了存儲消耗,但這樣做的好處是保證了在線交易性能又保證高速的分析能力。通過這種分散的部署方式確保了隔離性,避免互相影響。
分布式MPP計算引擎與向量化執行(性能優)因為TDSQL 是 shared nothing 的分布式架構,相對而言無論是豎向還是橫向的擴容都能支持。并且分析引擎還擴展支持了全節點并行處理,與高效向量化執行引擎,能夠支持數億級數據join 場景下的超高性能。
高穩定性列式數據存儲(穩定性高)底層列式存儲是基于類LSM Tree引擎結構的實現,支持高壓縮比的數據存儲。因為LSM Tree 對數據的更新采用append的方式進行,后端會定期的compaction,而compaction 占用大量IO從而影響系統性能的穩定,所以我們對于LSM Tree的compaction 的機制進行了較大的優化和能力提升,能夠支持 HTAP場景中存儲的超高性能穩定性,在高數據變更負載情況下,查詢性能依然波動較低。
可插拔引擎與可選擇式加速(成本低)作為TDSQL 的一個分析引擎組件,可根據實際情況進行開啟或關閉,并且同樣支持按需指定對象進行分析加速,無需占用過多磁盤空間。
實時數據分析與查詢(實時性高)TDSQL列存引擎的數據是實時從行存節點中進行同步而來。行存與列存數據默認異步同步模式,可達到毫秒級同步延遲。
統一訪問入口,業務改造量小(易用性高)完全兼容和適配TDSQL架構與語法。對現有TDSQL集群升級簡單,影響小,并且支持多種數據訪問模式,可充分滿足業務的實際需求,接入門檻低。
適用場景
那么當前的TDSQL HTAP 適用于什么業務場景呢?
超大數據規模的HTAP混合查詢類業務在大型SaaS類業務中,用戶規模大,不同用戶以租戶維度共用一套實例,并且伴隨著數據量增大,在線數據更新也比較頻繁。同時還需要對數據進行報告分析,實時為決策者提供詳細報表,以供經營分析。
或者如廣告業務推薦,業務后端需要利用數據針對不同客戶情況進行廣告推薦,需要大量復雜查詢。
通過引入TDSQL HTAP的解決方案,可以使用分布式數據庫的能力應對用戶超高并發的在線交易業務,并且在某些混合復雜查詢業務的場景下,通過分析引擎進行加速,以達到超高的執行和查詢效率。
2020年,TDSQL助力“第七次全國人口普查”電子化高效推進,實現海量數據高速入庫和海量數據的多維統計分析,支持了十億級用戶數據、七百萬個終端和百萬級峰值TPS(每秒事務處理量),平穩、高效支撐第七次全國人口普查工作完成。詳情點擊閱讀:14億人的大項目,拿下!流批一體大數據架構替換場景
一般流批一體的大數據架構實際上更適用于PB以上的超大數據集的在線和離線分析。但是無論怎么樣,必然會涉及到時間同步的延遲性問題,以及多種的異構數據庫產品,維護成本較高昂。
而采用TDSQL HTAP一體化的架構實現,可滿足在一定量數據量級下的數據在線實時分析,通過在TDSQL基礎上擴展資源,總體成本可降低80%,運維復雜度也極大的減少。
數據跑批歸檔與定時報表當客戶場景有著大量數據密集型分析業務,如銀行風控/貸款等業務場景中,業務決策者不僅需要實時查看業務報表,還伴隨著超大規模數據并發讀寫,定時數據批量查詢寫入下游業務的大數據跑批,并且需要保證分析性能與交易數據完整性,要求既能滿足超高線上TPS的交易業務,又能夠同時滿足實時分析的需求,兩者不能互相影響。
通過引入TDSQL HTAP可提升:
分析時效提升:數據實時查詢,幾乎無延時。 分析性能:報表查詢基本秒級返回,無需等待BI緩慢刷新,對比傳統數據庫性能提升210%。 成本降低:將原有的數據分散管理變為集中化數據管控和數據治理,降低維護成本。 數據降級存儲隨著業務規模的增長,業務數據規模逐步增長,為了確保在線交易性能,需要定時歸檔數據。而在歸檔后數據不能直接刪除,需要合并查詢輸出報告或者留存。在此類場中對數據庫吞吐性能要求高,且不能影響在線業務。
通過引入TDSQL HTAP可支持:
高效歸檔效率:隨時支持動態數據停止同步,以及歷史數據刪除,效率高。 多級歸檔機制:支持列存壓縮歸檔方案與落冷磁盤歸檔方案。 歸檔數據定時查詢:完成歸檔后的數據依然支持超高速查詢,不影響數據訪問。結語
當然,本文僅簡單介紹了一些TDSQL HTAP方面實現的能力和架構,詳細的介紹在后續的文章中也會逐步提到,歡迎保持關注“騰訊云數據庫”官方微信公眾號,我們將為您分享更多價值內容。目前整體使用TDSQL HTAP中分析引擎的集群規模已經突破數萬核心、存儲容量達到10PB,支撐了數百家內外客戶的生產環境作業。
歡迎更多用戶體驗全新的TDSQL HTAP解決方案,相信在實際的體驗中會發現,無論是性能的提升還是能力的擴展都將是一場驚喜之旅。
﹀
﹀
﹀
HTAP大潮下,TDSQL的探索與實踐
14億人的大項目,拿下!
↓↓點擊閱讀原文,了解更多優惠
相關稿件
一套“簡單”架構下實現的 HTAP 能支持10億級用戶數據,尊嘟假嘟?
步入“人生最后篇章”,相約一起長眠樹下,美前總統卡特夫婦恩愛77年
美元兌韓元匯率:美元兌韓元日內下跌0.9%至1328.30,為7月14日以來最大跌幅
道達爾能源和INPEX將從PTTEP購買帝汶海氣田100%權益
韓美軍演雙鷹 尹錫悅:韓美軍演演練全面戰爭場景 基本情況講解
【世界說】美媒:應對頻發氣候災難毫無準備 夏威夷野火折射出美國聯邦及州政府治理能力落后
【世界說】芝加哥犯罪率上升34%!該市議員竟試圖呼吁罪犯“只在晚9點后開槍”
【世界說】美國佛州教育新政策引教師眾怒!佛州教師:老師和學生都是受害者
日本核污染水排海引發美國專家擔憂:有害放射性元素或穿越整個太平洋
上海環境:8月22日融資買入893.03萬元,融資融券余額8876.87萬元
正式測定!遼寧大連發生4.6級地震,山東、吉林等地有明顯震感
【美股盤前】三大期指齊漲;英偉達H100芯片明年出貨量或至少增加2倍;“越南特斯拉”VinFast續漲超14%;Foot Locker暴跌30%


