江西農商銀行:GPU數據庫+Hadoop異構大數據基礎平臺

項目背景及目標

隨著國內外經濟、金融環境的快速變化和互聯網金融及其他業務的快速發展,現有的大數據基礎工程建設還有待進一步夯實,大數據應用能力在服務內部管理、客戶服務、風險管控等方面面臨新的挑戰。


江西農信的數據平臺基於一臺Netezza一體機,且不間斷運行已經近5年了,無論是從可靠性層面考慮,還是平臺的可擴展性分析,都無法滿足當前業務的快速發展,因此,亟需引入先進的架構縱深拓展現平臺。


項目建設目標是在原有Netezza數據平臺之外,重新搭建新的數據平臺,與原有數據平臺之間構成雙活系統。一方面,可以確保上下游業務完全不受系統更替的影響,同時確保了整個數據平臺服務的安全可靠、連續穩定的對外服務。另一方面,是對新數據平臺的加工能力、數據精度、加工效率進行全面驗證,為從就技術平臺向新技術平臺的平穩過渡提供全面可靠的技術評估,為全面的技術平臺遷移打下堅實基礎。


江西農商銀行:GPU數據庫+Hadoop異構大數據基礎平臺


項目方案

數據基礎平臺以hadoop和GPU技術為基礎的,集數據存儲、加工、服務於一體,與原數據平臺( Netezza 體系)組成行內異構雙活大數據體系,兩個平臺同時向外提供大數據服務,即同時分擔負載又互為備份。


整個系統中使用DataTurbines+Impala組件雙SQL引擎進行大數據任務處理。整個系統的資源還是由Hadoop的Yarn進行統一管理。數據底層則使用HDFS作為分佈式文件存儲系統。外圍系統通過CDC工具將新增數據同步到系統的HDFS中。兩個數據引擎根據系統任務讀取相應數據到各自引擎中進行數據處理。


系統中Impala負責處理純IO類任務,而DataTurbines負責處理任務中較為複雜的計算任務以及前後數據表關係緊密的任務,這是因為純IO類任務在GPU上提供的性能提升並不顯著,此部分任務交給與Hadoop結合更加緊密的Impala處理效率更高。通常,在數據加工的中後期,就涉及到較為複雜的指標加工計算,這時也是系統計算壓力最大的時候,使用GPU數據庫能緩解計算壓力,加速指標加工類任務。


此外,銀行業務報表往往包含多個相互獨立的報表模塊,當上一個指標處於GPU加工狀態時,下一個加工任務已經可以在Impala上進行指標數據抽取工作了。通過合理的在同一調度平臺上設置任務執行順序,可以最大限度的提升整個集群的併發能力。此外,加工後的部分數據可以保留在DataTurbines數據庫中,直接供外界查詢,對於外圍系統來說,應付日常業務的數據查詢完全能做到秒級查詢反饋。


創新點

Hadoop+GPU數據庫體系的集群算力擴容

傳統Hadoop架構,已經具備較為完善的數據加工能力,以及一整套成熟的大數據集群監控、管理、異常處理機制。但是在應對複雜加工場景時,其加工能力則嚴格受制於各個節點的CPU處理能力。在Hadoop集群中引入GPU進行加速,不僅分擔了CPU的計算壓力,擴展了整個集群的計算能力,也加強了集群應對併發任務的能力,集群處理任務的速度大大增加。

此外,構建於Hadoop平臺之上的GPU數據庫不僅具備數據加工能力,還能通過對接Hadoop底層文件系統對庫中數據進行實時查詢。得益於GPU數據庫的併發處理能力,即使不對庫表進行預處理,也能得到較快的查詢響應。


技術實現特點

1.SQL查詢速度快:

得益於硬件優勢和軟件優化,GPU數據庫比傳統關係型數據庫有100-400倍,與內存數據庫也有數十倍的提升。特別是對全表掃描,模糊查詢,大表Join,各類在普通數據庫中耗時較多的統計類SQL、複雜加工類SQL都有很好的性能表現。


2.數據處理能力強:

DT特別適合計算密集型的數據加工及數據分析場景,並行處理能力尤為突出(三級並行架構:機器間並行、機器內部的GPU卡間並行、GPU內部的計算單元間並行),可顯著提升系統併發度。當數據庫中有多個任務運行時,能借助高併發度,同時完成多個任務的加工和計算。


3.高可靠性:

分佈式的架構,使得單點故障不影響整體使用,加上完善的冗餘備份機制,快至數秒間的恢復及替換,真正做到高可用,數據保存在分佈式文件系統中,節點故障不影響數據的完整性。


4.高擴展性:

DT的分佈式計算架構(MPP),使得它不僅可與Hadoop其他應用無縫對接,還可根據節點負載情況,動態優化SQL執行計劃,降低數據IO成本。此外,GPU集群同Hadoop集群一樣可根據生產性能需要彈性擴縮集群規模,動態調整輕量靈活。


5.強兼容性:

DataTurbines支持SQL2003標準,支持大部分主流數據庫功能,並針對Oracle數據庫 以及IBM 的DB2數據庫等銀行使用較多的傳統數據庫進行函數和語法上的兼容,降低業務遷移成本。此外,DataTurbines封裝了C/C++/Python等多種編程語言的API,可直接訪問和操作數據庫,也支持JDBC/ODBC通用數據庫連接協議。


6.佔用空間小,能耗低:

以GPU為載體,減少硬件的佔用空間,在大幅提升數據處理速度的同時大大降低能耗。


項目過程管理

一、需求調研及討論階段

此階段時間段為2018年8月至2018年9月,其間主要結合江西農信原有數據倉庫情況進行調研及討論,提交業務需求文檔。


二、需求分析及設計階段

此階段起始時間為2018年9月至2018年10月,其間主要是根據業務需求文檔,在分析需求的基礎上進行系統方案設計。包括系統架構設計文檔,概要設計文檔,和詳細設計文檔等。


三、系統開發階段

此階段起始時間為2018年10月至2018年12月,其間完成了系統開發和功能實現。


四、系統測試、試運行準備階段

此階段從2018年12月至2019年3月,其間完成了測試計劃、測試環境搭建、測試案例編寫、功能測試、可靠性及壓力測試等。


五、系統試運行階段

此階段起始時間為2019年3月至2019年7月,期間選定3個試點系統,進行大數據基礎平臺雙活體系的生產部署對接。


六、系統上線階段

項目實施嚴格按照項目管理相關制度,從計劃、質量等多方面進行規範化管理,項目如期完成。至2019年7月中旬投產上線。


運營情況

新的異構數據平臺上線後採取逐步對接上游系統的方式提供服務,先後對接了信貸系統、網銀系統、核心系統等所有系統中結構化數據以及非結構化數據等。目前整個系統已經完成了全部系統的數據對接任務,此外,Hadoop系統將冗餘的加工和存儲能力以多租戶服務方式提供給其他有報表加工需求的業務系統,輔助他們完成報表加工任務,取得了較為不錯的效果。


GPU數據庫與Hadoop組成的混合數據平臺上線後,實現了與原有的Netezza數據形成雙活大數據平臺的目標。上線至今一直穩定對外提供服務,並且數據與原數據平臺核對後準確無誤。


項目成效

作為“雙活”的基礎數據平臺,新的數據平臺方案進一步加強了整個數據平臺的穩定性,同時,其性能表現和加工性能降低了因為上游數據加工不及時帶來的銀行核心業務延期的問題,保障了下游系統正常穩定運行。


新的數據平臺採購成本和運維費用不到原來的Netezza數據平臺的一半,但是無論是數據處理性能以及集群擴展能力都遠強於Netezza數據平臺。在運維人員選擇方面,具備Hadoop平臺運維平臺經驗的運維人員也遠多於傳統IBM平臺運維人員,再加上開源社區的技術支持,對於構建自主可控的數據平臺具有積極意義。


經驗總結

在此項目進展中,江西農信在大數據基礎建設方面獲得了寶貴的經驗,隨著技術的進步和大數據平臺的發展,數據架構的發展還需進一步加強。


一、由數據被動支撐業務,提升到數據主動服務業務

異構雙活的大數據基礎平臺不光是一次成功的技術和業務創新性的實踐,更給本行及同業在大數據應用領域樹立了一個可供借鑑的成功模版。後續可進一步拓展大數據技術在行內的應用,全面提升銀行業務水平,拓展新的銀行產品和服務。


建設雙活的大數據基礎平臺,由現在的數據被動支撐業務,提升到數據主動服務業務,部分業務領域達到數據引領創新。整合銀行業內外信息,充分發揮大數據新技術優勢,構建具有特色、業界領先的智能“數據”分析能力。


二、探索流式計算,進行業務實時監控,降低業務風險

傳統的IT系統基本只能提供T+1的、由簡單歸納總結的數據構成的統計分析報表。流式計算平臺提供高可靠、高容錯、高性能的實時海量事件捕獲處理與計算能力,並做為一種公共能力提供給各個系統內實時計算業務場景的需要,為各應用系統的實時計算提供集中統一的公共支持能力。


項目實施

上海雅捷信息技術股份有限公司


分享到:


相關文章: