【傲騰觀察室】英特爾® 傲騰™技術如何助力金融行業(yè)關鍵業(yè)務應用?
2021年11月,百易傳媒(DOIT)推出“傲騰觀察室-請回答2021”線上直播活動,旨在通過兩位數(shù)據(jù)存儲產(chǎn)業(yè)的長期觀察者——DOIT總編宋家雨與DOIT主編朱朋博從第三方視角梳理分析傲騰技術如何助力不同行業(yè)的應用創(chuàng)新,洞察未來存儲發(fā)展軌跡,期間現(xiàn)場連線云計算、金融等不同行業(yè)傲騰用戶進行細致解讀。
第一期觀察室從突破馮諾依曼架構的局限性入手,以DRAM+傲騰持久內存構建大內存的方式彌補馮諾依曼架構當前亟待解決的問題,第二期著重了解傲騰在云環(huán)境中的價值點。
1月12日下午,“傲騰觀察室”觀察者們聚焦金融行業(yè)用戶針對外部環(huán)境需求變化作出的技術應對,連線了建設銀行“龍趺MPP DB”產(chǎn)品負責人陳曉新和建設銀行建信金科基礎技術中心首席存儲專家徐寧,進一步了解傲騰技術對銀行應用創(chuàng)新過程起到的推進作用。
2021年,行業(yè)數(shù)字化轉型進入快車道,對金融行業(yè)而言,數(shù)字化,分布式、智能化成為自身發(fā)展的著力點,金融機構需要依托創(chuàng)新技術不斷完善系統(tǒng)架構,優(yōu)化業(yè)務流程,豐富場景應用為客戶提供優(yōu)質金融產(chǎn)品和服務。其中,不能不提承載行業(yè)關鍵業(yè)務應用的數(shù)據(jù)庫技術趨勢變化。
數(shù)據(jù)庫技術演進與變化
數(shù)據(jù)庫從應用角度可分為OLTP(聯(lián)機事務處理)和OLAP(聯(lián)機分析處理)。OLTP是關系型數(shù)據(jù)庫的主要應用,用于如銀行交易等日常交易處理。OLAP是數(shù)據(jù)倉庫系統(tǒng)的主要應用,用于數(shù)據(jù)分析和輔助決策。
從前,數(shù)據(jù)分析以結構化數(shù)據(jù)為主,通過各種BI工具、報表來呈現(xiàn),相對而言,我們并未將OLAP視為金融行業(yè)的關鍵業(yè)務應用。近年隨著數(shù)據(jù)量爆發(fā)式增長,互聯(lián)網(wǎng)行業(yè)積極推動應用技術創(chuàng)新,從非結構化數(shù)據(jù)分析中獲取價值。而面對互聯(lián)網(wǎng)應用的沖擊,金融機構也在作出反應與調整,OLAP也升級為金融行業(yè)的一大關鍵應用,整體走向是單一架構結合OLTP和OLAP兩種能力應對海量數(shù)據(jù)存取訪問和分析處理,取得簡化應用開發(fā)、加快即時查詢、降低成本等效益。
那么具體金融行業(yè)用戶如何積極應對互聯(lián)網(wǎng)應用?以中國建設銀行為例,2020年3月,中國建設銀行就上線了龍趺MPP DB的數(shù)據(jù)庫服務。
建行新一代MPP數(shù)據(jù)庫的構建與技術探索
傳統(tǒng)MPP數(shù)據(jù)庫要在不同計算集群之間復制規(guī)模化數(shù)據(jù)來保持數(shù)據(jù)的一致性,對系統(tǒng)的效率和性能產(chǎn)生極大影響,同時數(shù)據(jù)復制也會造成數(shù)據(jù)冗余,拉高存儲成本。
龍趺MPP DB產(chǎn)品負責人陳曉新介紹稱,龍趺MPP DB是建行金科聯(lián)合HashData和金山云開發(fā)的新一代云原生數(shù)據(jù)倉庫產(chǎn)品,采用元數(shù)據(jù),計算,存儲三層分離架構,確保高性能計算能力的同時還具備高并發(fā)性,高擴展性,資源動態(tài)調度以及故障自愈能力。
截止到2021年5月,龍趺MPP DB規(guī)模已達到12000臺服務器,結構化數(shù)據(jù)壓縮后數(shù)據(jù)量達到9PB,表數(shù)量達到百萬級,并且每天運行的作業(yè)數(shù)也達到百萬級,SQL數(shù)據(jù)庫約有千萬級別數(shù)據(jù)量。
其中,元數(shù)據(jù)層主要負責元數(shù)據(jù)的存取訪問服務以及事務控制。共享存儲(對象存儲)層負責用戶數(shù)據(jù)持久存儲,中間計算層為無狀態(tài)的計算服務。
當然,龍趺集群規(guī)模不斷增大,其在數(shù)據(jù)存儲和使用中也會面臨一些挑戰(zhàn)。大量應用接入數(shù)據(jù)庫,龍趺共享存儲中的文件數(shù)超過20億,而讀取訪問小文件對緩存影響極大,因此在高并發(fā)需求下規(guī)模化應用如何提升本地緩存系統(tǒng)使用效率是一個挑戰(zhàn)。
服務器數(shù)量不斷增加,故障也隨之增多,資源動態(tài)調配和故障自愈能力這些操作也會帶來緩存部分失效,如何實現(xiàn)節(jié)點間緩存的共享,以此最大限度減少緩存加載對應用的影響也是挑戰(zhàn)。
以傲騰為代表的SCM助力分布式數(shù)據(jù)庫應對存儲挑戰(zhàn)
建設銀行建信金科基礎技術中心首席存儲專家徐寧表示這兩個問題可以從三個方向進行優(yōu)化——數(shù)據(jù)分布,單機性能以及格式性能。其中,存儲介質、緩存分層、文件系統(tǒng)和緩存粒度和緩存格式是基于SCM的進一步優(yōu)化。
以傲騰為代表的SCM出現(xiàn)帶來了高級數(shù)據(jù)服務能力,且具備實際價值。混合按需使用DRAM和SCM,將存儲層的高級數(shù)據(jù)服務移植到內存層,如高性能備份和恢復等。SCM應用可以簡化系統(tǒng)設計,SCM的內存特性簡化軟件棧,更易于定制化實現(xiàn)需求。
比如,在做MPP計算時不需要一個文件中所有數(shù)據(jù),而是把文件里部分數(shù)據(jù)按照范圍加載到當時的計算集群緩存部分,比如上圖里的Block 1和Block 2,然后加載到具體計算機群節(jié)點上,變成兩個小文件,這是對象局部緩存的設計。
在這個前提下進行單機優(yōu)化首要考慮的是應用的SCM介質。龍趺MPP DB采用英特爾® 傲騰™持久內存作為SCM介質替代了一部分DRAM帶來性能提高和長壽命的優(yōu)勢。
DOIT總編宋家雨指出,內存儲器如DRAM一旦出現(xiàn)故障,系統(tǒng)需要跨內存儲器直接訪問外存儲器,消耗大量的網(wǎng)絡和存儲資源的同時導致性能大幅降低,而通過以傲騰為主的SCM+存儲分層是將熱數(shù)據(jù)緩存到新介質上,冷數(shù)據(jù)則自動存儲到經(jīng)濟型介質上,以此找到性能,容量和成本結合點,最大限度減少緩存加載對應用的影響。
另一方面,針對海量小文件帶來的訪問性能下降,建行采用了很多辦法,比如用RocksDB取代本地文件系統(tǒng),優(yōu)化后對16KB以下的小文件取得了較大的性能提高。但是RocksDB也會帶來新問題——LSM Tree帶來的寫放大,LSM Tree分層級,每次先寫journal(日志),再寫memory table(內存表),然后并到leve1,leve2……重復寫入和數(shù)據(jù)逐級下沉造成了嚴重的寫放大問題。
因此,建設銀行在軟件方面采用了英特爾持久內存開發(fā)工具包PMDK(Persistent Memory Development Kit),用pmemobj庫存放較大的值,然后用戶oid直接做索引,很好地解決寫放大的問題。
以libpmem庫為例,作為PMDK中的底層庫支持用內存映射方式訪問持久內存,一方面可將持久內存上的文件映射到應用的虛擬內存空間進行操作。通過規(guī)避內核參與和上下文切換帶來的開銷,直接為上層應用提供助力。
DOIT主編朱朋博表示,中國有句古話:勿以善小而不為。用傲騰部分替代DRAM,鑒于傲騰在容量密度和價格方面的優(yōu)勢,聚沙成塔,當服務器用量動輒上萬時,其所帶來的容量優(yōu)勢不能低估。
傲騰持久內存的技術展望
從建設銀行的數(shù)據(jù)庫案例來看,傲騰技術的引入幫助其完善了MPP數(shù)據(jù)庫的功能,為海量數(shù)據(jù)訪問和處理提供了強有力的支撐。未來,SCM解決方案除了作為緩存層,隨著傲騰技術不斷發(fā)展,容量與性能的擴展,以及我們對內存規(guī)模需求的不斷增加,是否會成為數(shù)據(jù)存儲的核心呢,畢竟技術新舊更迭是市場的運行規(guī)則,接下來,傲騰觀察室將投入更多的時間和精力來觀察傲騰技術的新用例和新變化,敬請期待!