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





















敬請訪問傲騰觀察室視頻欄目第三期









