“作為一款PingCAP自主研發(fā)、面向全球用戶的開源數(shù)據(jù)庫,TiDB走在了技術(shù)的前沿。得益于第四代英特爾® 至強® 可擴展處理器卓越的代際性能提升,以及其搭載的多種硬件加速器,我們進一步提升了TiDB的性能表現(xiàn)。我們將繼續(xù)堅持開源的創(chuàng)新理念,將TiDB打造成一個領(lǐng)先的數(shù)據(jù)庫產(chǎn)品。”—— PingCAP聯(lián)合創(chuàng)始人兼CTO黃東旭
挑戰(zhàn)
部署新一代分布式數(shù)據(jù)庫已經(jīng)成為用戶釋放數(shù)據(jù)價值、推動數(shù)字化轉(zhuǎn)型的重要方式,但隨著數(shù)據(jù)的快速增長以及上層負載的日益復(fù)雜化,數(shù)據(jù)庫的應(yīng)用面臨著以下挑戰(zhàn):
● 如何釋放CPU性能:在金融、電子商務(wù)、互聯(lián)網(wǎng)、游戲等行業(yè)用戶的數(shù)據(jù)庫部署實踐中,常常需要通過高性能的數(shù)據(jù)庫服務(wù),滿足高讀寫等場景的應(yīng)用需求,以提升應(yīng)用體驗,由此導(dǎo)致用戶對數(shù)據(jù)庫性能的要求與日俱增。長期實踐已證實,CPU性能是制約數(shù)據(jù)庫性能提升的重要瓶頸。
● 如何平衡存儲空間與性能:海量數(shù)據(jù)存儲與處理需求意味著大量存儲空間占用,這會帶來相應(yīng)的存儲成本壓力。而通過提升數(shù)據(jù)壓縮率等方式,有助于節(jié)約數(shù)據(jù)庫系統(tǒng)的存儲空間占用,降低成本壓力,但數(shù)據(jù)壓縮也可能導(dǎo)致性能開銷的增長,需要在壓縮率與性能方面實現(xiàn)更佳的平衡。
● 如何優(yōu)化投資回報:在現(xiàn)代化的數(shù)據(jù)中心內(nèi),激增的數(shù)據(jù)帶來了數(shù)據(jù)庫方面不斷增長的投資需求,用戶希望能夠提升數(shù)據(jù)庫的性能密度,通過軟件優(yōu)化等方式更好地激發(fā)硬件潛能,從而提升在數(shù)據(jù)庫領(lǐng)域的投資回報。
解決方案概述
作為數(shù)字化體系的關(guān)鍵組成部分,數(shù)據(jù)庫連接著應(yīng)用與數(shù)據(jù),對于數(shù)據(jù)價值的挖掘有著至關(guān)重要的意義。隨著數(shù)字化轉(zhuǎn)型的深入,數(shù)據(jù)庫需要處理的結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)出現(xiàn)了快速增長,用戶對于數(shù)據(jù)庫的性能、擴展性、服務(wù)質(zhì)量提出了更高的要求,這驅(qū)動著數(shù)據(jù)庫技術(shù)融合發(fā)展,云原生和多云的需求進一步增強,數(shù)據(jù)庫與大數(shù)據(jù)的深度融合應(yīng)用,以及存算分離也成為發(fā)展的主流。
PingCAP推出了TiDB開源分布式數(shù)據(jù)庫,以幫助行業(yè)客戶應(yīng)對數(shù)字化轉(zhuǎn)型所帶來的挑戰(zhàn)。為了進一步提升數(shù)據(jù)庫性能并節(jié)省存儲空間,PingCAP測試了TiDB在第四代英特爾® 至強® 可擴展處理器平臺上的性能,依托處理器的代際性能提升,數(shù)據(jù)庫的讀性能與讀寫性能分別達到基準(zhǔn)配置的1.62倍與1.43倍1 。此外,TiDB還可以利用第四代英特爾® 至強® 可擴展處理器集成的英特爾® In-Memory Analytics Accelerator(英特爾® IAA),在不影響性能的前提下,提升了數(shù)據(jù)壓縮率,節(jié)約了大量的存儲空間。
TiDB開源分布式數(shù)據(jù)庫
TiDB是PingCAP公司自主設(shè)計、研發(fā)的開源分布式數(shù)據(jù)庫,是一款同時支持在線事務(wù)處理與在線分析處理(Hybrid Transactional and Analytical Processing,HTAP)的融合型分布式數(shù)據(jù)庫產(chǎn)品,具備水平擴容或者縮容、金融級高可用、實時HTAP、云原生、兼容MySQL協(xié)議和MySQL生態(tài)等核心特性。TiDB為用戶提供一棧式聯(lián)機事務(wù)處理過程(OLTP)、聯(lián)機分析處理(OLAP)和HTAP解決方案,適用于高可用、強一致、數(shù)據(jù)規(guī)模較大等應(yīng)用場景。
圖1. TiDB開源分布式數(shù)據(jù)庫產(chǎn)品架構(gòu)與數(shù)據(jù)生態(tài)
TiDB開源分布式數(shù)據(jù)庫采用云原生架構(gòu),兼容MySQL,能夠有效減少遷移工作量。數(shù)據(jù)庫同時具備交易處理與數(shù)據(jù)分析能力,在多模態(tài)可擴展性和性能方面表現(xiàn)卓越。TiDB可提供以下優(yōu)勢:
● 一鍵水平擴容或者縮容
得益于TiDB存儲計算分離的架構(gòu)設(shè)計,可按需對計算、存儲分別進行在線擴容或者縮容,整個過程對應(yīng)用運維人員透明。
● 金融級高可用
數(shù)據(jù)采用多副本存儲,數(shù)據(jù)副本通過Multi-Raft協(xié)議同步事務(wù)日志,多數(shù)派寫入成功事務(wù)才能提交,確保數(shù)據(jù)強一致性且少數(shù)副本發(fā)生故障時不影響數(shù)據(jù)的可用性。可按需配置副本地理位置、副本數(shù)量等策略滿足不同容災(zāi)級別的要求。
● 實時HTAP
提供行存儲引擎TiKV、列存儲引擎TiFlash兩款存儲引擎,TiFlash通過Multi-Raft Learner協(xié)議實時從TiKV復(fù)制數(shù)據(jù),確保行存儲引擎TiKV和列存儲引擎TiFlash之間的數(shù)據(jù)強一致。TiKV、TiFlash可按需部署在不同的機器,解決混合負載資源隔離的問題。
● 云原生的分布式數(shù)據(jù)庫
為云設(shè)計的分布式數(shù)據(jù)庫,通過TiDB Operator可在公有云、私有云、混合云中實現(xiàn)部署工具化、自動化,依托公有云提供開箱即用的TiDB Cloud服務(wù)(DBaas)。
● 兼容MySQL協(xié)議和MySQL生態(tài)
兼容MySQL協(xié)議、MysQL常用的功能、MysQL生態(tài),應(yīng)用無需或者修改少量代碼即可從MySQL遷移到TiDB,提供豐富的數(shù)據(jù)遷移工具幫助應(yīng)用便捷完成數(shù)據(jù)遷移。
采用第四代英特爾® 至強® 可擴展處理器優(yōu)化性能并提升數(shù)據(jù)壓縮率
對于現(xiàn)代化的數(shù)據(jù)庫系統(tǒng),CPU已經(jīng)成為數(shù)據(jù)庫整體性能的關(guān)鍵影響因素。為了從CPU的迭代中獲益,TiDB開源分布式數(shù)據(jù)庫適配了第四代英特爾® 至強® 可擴展處理器。
第四代英特爾® 至強® 可擴展處理器通過創(chuàng)新架構(gòu)增加了每個時鐘周期的指令,每個插槽多達60個核心,支持8通道DDR5內(nèi)存,有效提升了內(nèi)存帶寬與速度,并通過PCIe 5.0(80個通道)實現(xiàn)了更高的PCIe帶寬提升。第四代英特爾® 至強® 可擴展處理器提供了現(xiàn)代性能和安全性,可根據(jù)用戶的業(yè)務(wù)需求進行擴展。借助內(nèi)置的加速器,用戶可以在AI、分析、云和微服務(wù)、網(wǎng)絡(luò)、數(shù)據(jù)庫、存儲等類型的工作負載中獲得優(yōu)化的性能。通過與強大的生態(tài)系統(tǒng)相結(jié)合,第四代英特爾® 至強® 可擴展處理器能夠幫助用戶構(gòu)建更加高效、安全的基礎(chǔ)設(shè)施。
圖2. 第四代英特爾® 至強® 可擴展處理器為數(shù)據(jù)中心提供多種優(yōu)勢
對于數(shù)據(jù)庫應(yīng)用而言,第四代英特爾® 至強® 可擴展處理器提供了更多的內(nèi)核,以及更多的Sub-NUMA Clustering(SNC)節(jié)點,使得數(shù)據(jù)庫系統(tǒng)能夠?qū)崿F(xiàn)明顯的代際性能提升。
在OLTP場景中,為了驗證CPU升級帶來的性能提升,PingCAP進行了測試,驗證了在Sysbench基準(zhǔn)測試中,英特爾® 至強® 鉑金 8380/8480+ 處理器的只讀、讀寫性能差異。測試數(shù)據(jù)如圖3、圖4所示,基于英特爾® 至強® 鉑金 8480+ 處理器的TiDB在Sysbench只讀測試中性能達到基準(zhǔn)配置的1.62倍,在Sysbench讀寫測試中性能達到后者的1.43倍6 。
表1. 測試配置
圖3. 只讀測試性能
圖4. 讀寫測試性能
在OLAP場景中,PingCAP還希望能夠提升TiDB的海量數(shù)據(jù)壓縮存儲能力,從而減少存儲數(shù)據(jù)所需的空間,降低相應(yīng)的成本投入。為此,TiDB采用了第四代英特爾® 至強® 可擴展處理器集成的英特爾® IAA加速器。
英特爾® IAA是一款硬件加速器,結(jié)合分析原始函數(shù),能夠提供出色的吞吐量壓縮和解壓縮性能。英特爾® IAA主要針對大數(shù)據(jù)和內(nèi)存分析數(shù)據(jù)庫等應(yīng)用程序,以及內(nèi)存頁壓縮等應(yīng)用程序透明用途,能夠在分析查詢處理期間過濾數(shù)據(jù)。英特爾® IAA支持零壓縮等輕量級壓縮方案以及霍夫曼編碼和Deflate等較重的壓縮算法。對于Deflate格式,它支持對壓縮流進行索引,以實現(xiàn)高效的隨機訪問。
圖5. 英特爾® IAA加速流程
PingCAP對比了在不同處理器配置下,英特爾® IAA以及LZ4無損壓縮算法的壓縮率差異。測試數(shù)據(jù)如圖6所示,采用英特爾® IAA替代LZ4之后,TiDB壓縮率達到LZ4壓縮算法的1.4倍,主要針對列存儲引擎TiFlash的使用場景,能夠大幅節(jié)省存儲空間7 。
圖6. 不同處理器與壓縮算法下的壓縮率
此外,PingCAP還測試了在不同的處理器與壓縮算法的組合下,數(shù)據(jù)庫的性能差異。測試數(shù)據(jù)如圖7所示,在采用英特爾® IAA替代LZ4進行壓縮之后,數(shù)據(jù)庫的性能不僅沒有降低,還實現(xiàn)了一定的提升。
圖7. 不同處理器與壓縮算法下的性能差異
收益
在將CPU升級為第四代英特爾® 至強® 可擴展處理器之后,TiDB開源分布式數(shù)據(jù)庫提升了性能,節(jié)約了存儲空間,為客戶帶來了以下收益:
● 數(shù)據(jù)庫的只讀和讀寫性能分別達到基準(zhǔn)配置的1.62倍和1.43倍,結(jié)合TiDB自身的性能優(yōu)勢,能夠幫助客戶加速數(shù)據(jù)處理與分析效率,應(yīng)對大規(guī)模數(shù)據(jù)帶來的沖擊8 。
● 英特爾® IAA壓縮算法的壓縮率達到傳統(tǒng)壓縮算法的1.4倍,為用戶節(jié)省了大量的硬盤空間,降低成本;結(jié)合CPU的迭代,性能提升可達到原配置的1.56倍,有助于客戶化解數(shù)據(jù)壓縮所帶來的性能困擾9 。
● 結(jié)合軟硬件創(chuàng)新,TiDB能夠有效提高數(shù)據(jù)庫系統(tǒng)的性能/成本比,幫助用戶節(jié)省在數(shù)據(jù)庫上的投資。
展望
移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、人工智能等技術(shù)的快速發(fā)展推動了數(shù)據(jù)的爆發(fā)式增長,要求企業(yè)數(shù)據(jù)庫必須能應(yīng)對海量數(shù)據(jù)和對瞬間的超大網(wǎng)絡(luò)請求,迫使傳統(tǒng)的IT架構(gòu)必須提升其靈活性、可靠性、流動性、安全性?;诘谒拇⑻貭?reg; 至強® 可擴展處理器TiDB具備高并發(fā)、高可用、熱分表等特性,并可同時處理交易類業(yè)務(wù)和分析類業(yè)務(wù),有望為企業(yè)的數(shù)字化轉(zhuǎn)型進程注入充沛的動力。
PingCAP與英特爾的合作驗證了第四代英特爾® 至強® 可擴展處理器在加速數(shù)據(jù)庫負載方面的卓越潛力。除了當(dāng)前的合作成果之外,雙方還將進一步加速軟硬件融合領(lǐng)域的合作,為用戶提供安全可靠、海量數(shù)據(jù)超高性能支持、彈性擴展能力、HTAP混合負載、資源靈活管控和共享等數(shù)據(jù)庫能力支撐,構(gòu)建基于創(chuàng)新技術(shù)的基礎(chǔ)設(shè)施。
(來源:英特爾中國)