銀行大數據平臺技術架構設計實踐與應用
一、銀行大數據平臺建設背景及目標
我們進行大數據平臺建設有幾個方面的背景。一是我們在信息化建設和數據分析的基礎比較好;二是雖然在信息化建設過程中建設了比較完成的BI應用,但隨著業務不斷發展,這些解決方案已不能完全滿足業務對于數據分析的需求;三是大數據技術的快速發展和應用為滿足業務迫切需求提供了新的解決方案。
我們在信息化道路上已經走過很長一段歷程,通過軟件系統將業務邏輯和業務流程進行電子化改造,實現了業務數據結構化存儲。隨著業務數據的結構化存儲不斷發展,銀行在數據分析和利用方面也逐步進行建設,比如數據采集、數據倉庫以及集市等應用也逐步建立,數據下發、報表以及駕駛艙等數據消費應用也逐步完善。運用先進的數據分析工具深度挖掘數據價值在行內的有著比較深厚的“群眾基礎”,上至行領導、下至支行普通員工都深刻得理解數據分析工具對于挖掘數據價值的重要性,并隨著數據應用不斷深入對于怎樣更好的進行數據分析和使用有了越來越多的需求。
業務部門已經不滿足于僅對財務報表數據、經營情況的數據分析,希望能對業務開展各個環節進行快捷的數據分析,對于業務經營活動提供強力有的數據支撐和決策能力。這勢必增加數據存儲和計算資源,在面對這些新業務需求時傳統的數據處理遇到的困難主要有幾個方面。一方面擴容成本比較高,且只能處理及結構化數據;另一方面大量的數據分析對于系統的計算資源要求太高,無法保證數據分析效率;最后,只能提供離線數據處理,無法提供實時或準實時的數據分析,這樣就導致了業務需求井噴但數據分析系統卻無法支撐的局面。
我行從2013年我們開始對大數據解決方案進行試驗性論證,大數據解決方案可將更多的數據納入分析,將以前無法處理的半結構化以及文本數據進行處理,能夠與現有的數據倉庫和集市等進行整合,充分利用現有整合結果進行精加工,并通過將大數據分析結果下發給行內業務系統、報表工具進行數據消費,進一步深入挖掘數據的價值。
總的來講就是我們有比較好的信息化基礎和數據分析基礎,業務對于數據分析的訴求無法完全通過傳統的BI類應用得到滿足,而大數據提供的技術解決方案讓業務更有想象空間。
經過與業務部門需求的深入溝通,與同業及廠商的進行深入調研,結合我行實際情況,明確了大數據平臺建設需要實現以下幾個技術目標:
一是要有更多的數據,要比傳統BI處理和分析更多的數據,提升數據分析的范圍,在現有數據的基礎上補充對半結構化和非結構化數據的分析處理能力,實現對業務全流程相關數據的整合和分析;
二是更全面的數據處理能力,批量處理能力要比傳統BI更強,每天能完成TB級數據處理,同時突破現有的BI系統僅提供批量離線數據處理的桎梏,必須要提供實時的基于事件的數據分析決策能力;
三是要有更好的數據服務,針對業務對傳統BI類應用使用中的痛點進行該改進,讓用戶能夠方便快捷了解平臺能提供什么樣的服務,怎樣能快速獲取到平臺的數據服務;四是更豐富的系統對接方式,傳統BI將處理結果以批量方式下發給業務系統使用,我們需要將大數據技術的處理結果封裝成數據服務接口,與現有業務系統對接進行數據消費,減少批量數據下發對下游系統的存儲和性能壓力。
二、建設難點及應對措施
在建設過程中面臨的困難主要有幾個方面,大數據技術基礎薄弱、大數據技術應用能否發揮價值的不確定大、數據治理管控的難度比較大等問題。
大數據相關技術薄弱無積累
銀行信息建設過程是逐步積累起來的,且有比較多的同業建設經驗可以借鑒,而我們在準備進行大數據建設時,彼時在銀行系統內掌握并用好大數據技術的還比較少,并沒有太多同業成功經驗可以復制,新技術引入對于開發和系統維護的挑戰都很大。我們做了三個方面的工作進行彌補:一是加大人員投入,聚焦技術方向深入研究相關技術;二是找靠譜的實施服務商,通過實施服務商找一些有大數據開發能力和實施經驗的開發人員,加快原始技術積累進程;三是加強技術交流,鼓勵結合項目不斷學習新技術并在項目組內進行交流,鼓勵參加開源社區組織的技術沙龍走出去看看別人怎樣做的,積極與銀行同業以及先進的互聯網公司進行技術和應用的交流。
大數據應用前景的不確定性大
大數據應用首先是技術上革新,其次是對內部管理模式和工作機制也是新的挑戰,銀行和互聯網企業的“基因”上差異很大,項目建設論證階段,專家評委對大數據技術在銀行系統內是否會“水土不服”表示擔憂。對于一個新組建的幾乎零基礎的團隊能不能把大數據技術用起來,以及能否發揮數據的業務價值都有很大的疑慮。為此,我們將建設工作分成幾個階段實施,盡量減少一次性大量投入的風險。在平臺建設方面,先建設離線數據處理能力,通過離線建設摸索大數據技術與銀行業務結合的實現方案,再進行自助數據分析和實時決策能力的建設,不斷完善數據治理能力;在應用上,與業務達成共識選定易于實現且成效顯著的業務場景,搭建最小集群進行開發和應用,待應用模式逐步成熟后根據業務需求對集群進行擴容。當技術路線或者實現方式等導致與業務需求存在偏差的情況,可以及時調整方向,降低技術不確定性帶來的影響。總體上來講,按照“先離線后實時,先簡單后復雜,兼顧數據治理”的思路進行分階段建設,每一階段均按照“小步快跑,快速迭代”的思路快速應用產生價值。
數據大集中的治理管控難度大
大數據平臺要整合處理的數據量大,一旦大數據平臺進行大量的應用,數據之間的引用和依賴關系復雜,對[L1] 數據治理能力的要求越來越高。要實現對大數據平臺元數據、數據血緣、碼值管理、數據生命周期進行有效管理,確保大數據平臺的數據變更風險可控、業務影響分析準確,要將大數據平臺與行內數據標準和規范相匹配,滿足數據治理的要[L2] 求,我們從兩個方面入手解決這個矛盾。一方面是逐步完善大數據平臺的數據治理體系,形成數據開發規范,將數據開發的規范和數據治理要求內嵌至數據開發過程,作為強制執行要求進行約束,確保從源頭上滿足數據治理要求。另一方面,與數據治理相關應用進行對接,將行內已有的元數據、碼值等作為大數據平臺數據治理的輸入,復用行內數據標準,同時將大數據平臺產生的元數據和碼值輸出到數據治理應用進行統一管理。
三、銀行大數據平臺技術架構設計
為了能更好的實現大數據平臺的業務功能和預期的目標,我們采用了自頂向下的方式對大數據平臺進行功能設計,同時在業務應用過程中不斷優化調整大數據平臺業務功能,形成了滿足離線處理及數據消費、實時運算及決策兩類應用場景,多個物理集群的平臺技術架構。
平臺總體技術架構設計
技術架構上從下至上分別為數據源層、數據采集交換層、數據存儲與計算層、數據能力層、數據服務層以及配套的數據管理能力和批次管理能力等。
數據源包含了行內與大數據平臺進行實時對接的系統、或者為業務系統提供業務數據來源的系統。主要由賬務類系統、渠道類系統、決策支持類系統等。
數據交換層,分為應用系統實時接口對接采集、實時旁路數據采集、離線批量數據采集等三個部分。實時接口對接采集需要業務系統配合改造將需要采集的業務信息存放在消息隊列中,為了實時業務場景提供事件輸入;實時的旁路采集在網絡通訊層面進行數據數據旁路采集,相對實時接口采集來講,業務系統不需要配合改造,是一種業務系統無感知的采集方式,比較適用于基于事件的準實時營銷和推薦類的場景;離線批量數據采集在銀行系統中比較成熟,傳統BI系統以及建設了比較完備的數據采集工具,直接復用現有數據采集工具進行行內數據的采集,對于已有工具未采集的數據,采用自定義開發程序采集的方式,業務空閑時段定時生成數據文件,供數到大數據平臺。三類數據采集方式基本上能覆蓋大數據平臺相關業務應用場景。
數據存儲與計算層的主要工作是將采集的數據進行存儲和計算,根據大數據平臺的業務應用場景,這一層按照業務特點的差異劃分了三個不同的區域,離線數據存儲與計算區、實時計算區、數據應用區。
離線數據存儲與計算區將批量采集的數據加載Hadoop集群進行集中存儲,同時通過Hive和Spark程序進行批量數據處理工作,主要進行數據清洗、標準化、指標標簽加工等。實時計算區進行基于事件的實時指標計算以及實時決策,能夠滿足事中風控決策、個性化推薦、事后營銷等業務場景需求。數據應用區有幾項功能定位:
一是同步離線處理的結果數據,通過接口提供給行內業務系統進行數據訪問,主要提供用戶的360°畫像數據的消費。
二是將大數據平臺數據的加工結果進行數據展示,便于業務應用,比如客戶之間的關系的查詢和展示,比如用戶的畫像展示和客群篩選等。
三是提供基于大數據平臺加工結果進行自助化報表分析等。
數據服務能力輸出設計
大數據平臺具備了幾種對外開放的能力,由數據開發和運行能力、自助分析能力、數據快速消費能力組成。為行內的各類數據使用人員提供支撐服務。
一是數據開發和運行能力,具備基于開發模板的進行可視化和規范化的進行數據批量處理程序開發能力;具備指標設計和管理能力,支持按照不同主鍵進行指標設計和加工,基于平臺已整合存儲的數據進行指標口徑配置,每天自動生成指標并將指標下發給下游業務系統。
二是自助分析能力,是一種讓用戶能夠自助進行數據理解及分析的能力。主要由數據探查工具、靈活自助分析工具、客戶360°視圖服務等提供核心的自助分析能力。
通過數據探查工具能讓行內各數據應用開發人員能快速了解大數據平臺已整合的數據、數據的組織形式、加工口徑等信息,方便應用開發人員基于已加工的數據結果或者基于整合數據進行二次加工,開發針對應用場景的數據消費應用。向行內的數據開發人員、數據分析人員、業務應用人員等提供統一的數據檢索引擎,為各類用戶提供無差異的數據檢索服務,將靈活自助分析的報表、平臺內各種數據、平臺應用產品、甚至平臺仍未整合的行內業務數據進行統一檢索和展示。靈活自助分析工具為行內的業務用戶提供靈活、自助的報表分析工具,報表工具分析的是加工后的指標數據或者經整合后的數據。報表分析工具提供報表分享功能,報表制作完成后能根據底層數據情況自動刷新報表,提供美觀的圖表展示功能。
數據探查工具與靈活自助分析工具進行深度的應用整合,靈活自助分析工具設計制作的報表可在數據探索工具進行發布,發布后的報表可被全行用戶檢索到,在檢索結果中僅展示報表的業務屬性描述以及對應的屬主等信息,對于沒有報表訪問權限的用戶無法訪問報表內容,并提示獲取授權的途徑;對于已被授權的用戶能通過檢索結果“一鍵直達”報表展示頁。
基于客戶維度的指標體系和離線區的加工結果形成了客戶360°視圖,通過客戶基本信息、客戶持有產品信息、客戶交易行為信息、客戶與客戶之間的關系、客戶理財偏好、客戶風險屬性等等多維度的指標和標簽對客戶特征進行全面的描述,通過維度和指標不斷豐富完善使得客戶畫像越來越清晰,客戶的形象越來越具體。提供了基于客戶360°視圖自助進行客群定義和篩選的能力。
數據消費能力,指的是將大數據平臺批量和實時運算的結果運用到業務交易的各個環節中,實現數據價值。實時決策引擎基于流計算技術和客戶360視圖,從業務系統實時采集業務事件數據并進行實時指標加工,根據業務配置的決策規則實時運算決策結果。通過對接不同的業務事件及定制不同的結果反饋機制,能夠為業務系統提供實時營銷、個性化推薦、風控防欺詐等實時決策能力。通過將大數據平臺的指標封裝成統一的數據服務接口,提供給行內各個業務系統進行實時調用,用以輔助交易系統開展業務。
平臺服務層,基于數據存儲和計算層提供的能力提供數據服務能力,主要有實時數據查詢和消費服務、實時數據決策服務、客群定義與篩選服務、客戶畫像展示服務、自助數據探索與分析服務。
平臺管理及治理能力設計
批次管理服務,調度服務負責在達到批次執行條件時正常發起批次,批次運行條件設置比較復雜且無法滿足大數據平臺批次復雜的依賴關系設置。監控工具需要能結合數據運行過程中的狀態信息進行監控,且支持的方式比較單一。結合調度服務和監控工具的特點,充分發揮調度和監控的特長,重新設計了批次管理服務和批次監控規范,在數據處理的關鍵節點埋點記錄批次運行的狀態信息,方便進行批次運行情況監控以及上下游數據批次依賴關系維護等。
在數據管理能力上,將數據開發的規范和數據治理要求內嵌至數據開發過程,作為強制執行要求進行約束,進行指標管理、元數據管理、數據依賴關系維護等。每一份數據接入即約定了數據生命周期,數據開發工具定期將過期的數據、指標進行清理,確保嚴格按數據生命周期管理數據;通過維護數據質量檢核規則,定期出具數據質量簡報,確保能及時發現數據加工過程中的潛在問題。
四、一個典型的業務應用場景
業務場景:針對新發卡營銷活動,實時向達到活動資格的新用戶發送營銷信息。
相關角色:營銷活動策劃人員、數據分析人員、數據開發人員、應用開發人員。
這個場景中,不同角色利用大數據平臺提供的能力和服務,將數據采集整合加工、業務數據探索和分析、業務系統對接工作等基于大數據平臺形成閉環。
1)營銷活動策劃人員提出營銷活動的idea,通過大數據平臺的數據探查能力了解idea落地執行是否具有可行性。
2)應用開發人員根據業務需求,制定數據對接方案。通過實時決策能力進行指標實時加工,并準實時將決策結果通知給營銷信息觸達的應用發送活動達標信息。
3)數據開發人員基于數據開發能力完成營銷效果統計所需數據采集工作。
4)營銷活動策劃人員通過數據開發能力設計支持營銷活動需要的指標及指標統計口徑,以及設計營銷效果統計需要的指標及口徑;
5)數據分析人員通過自助分析能力分析營銷活動效果,并將分析結果分享給營銷活動策劃人員。
6)營銷活動策劃人員根據活動的效果,及時調整營銷策略和廣告資源投放策略,提升營銷活動效果。
五、成效總結
基本實現預定的技術目標
經過近幾年不斷地摸索和實踐,大數據團隊整合了客戶、產品、風險管控、經營決策等各維度的數據,大數據平臺具備了批量數據加工和實時決策等基礎能力,實現業務系統與平臺的快速對接快。數據服務能力顯著增強,業務人員對于數據使用和理解更加深入,在不同的應用場景中均發揮了大數據的價值。
提升數據能力發揮業務價值
大數據平臺對行內業務系統的支撐作用,主要有幾個方面。一是基于大數據平臺加工的客戶360°視圖對行內業務創新的支撐作用,為客服部門提升了用戶滿意度,為電營部門提高了電話營銷的成功率,為風控部門提供了新的解決思路。二是基于實時數據接口,為渠道類系統優化用戶體驗提供數據支持。通過實時決策服務,為營銷和推薦提供了非常有效的技術支撐,用戶體驗也有了很大提升;為風控提供了新的思路,真正做到了事中阻斷攔截,減少用戶損失。