從傳統的金融數據管理到現代金融數據治理,金融行業迎來巨大的轉變。由於數據量增長形成的倒逼,以及要順應監管機構和用戶的需求,越來越多的金融從業機構開始意識到“數據驅動”的重要性,但全面釋放數據價值的過程並非一帆風順。
金融行業在數據治理中面臨哪些痛點?
路孚特企業架構總監陳強表示,在金融行業裡,數據來源非常複雜。面對不同的數據提供廠商、數據類型以及數據提供方式,企業要獲取所需的金融數據並作處理分析,成本並不低。而一些小型金融機構即便獲取到數據,也沒有足夠的技術能力去處理。
從另一個角度來看,路孚特高級研發經理趙儀解釋,數據通常受到兩類人的關注:一類是數據提供商,另一類是數據消費者。對於數據提供商而言,數據的權限管理、再分發權限的機制、數據合規等始終是痛點;對於數據消費者而言,如何解決數據來源不同、格式不統一、不一致等問題迫在眉睫。
總體來看,金融從業機構面臨的主要痛點如下:
-
數據來源複雜,且在不同部門、不同業務系統以及不同領域的機構間,數據缺乏流動性和共享性。
-
數據標準化程度低。來自不同業務、不同時期的數據,在用途、結構、價值和質量水平等方面差異較大,導致數據的提取、整理、分析和使用的難度加大。
-
成本問題。隨著用戶量和數據量的增加,訪問和使用數據的成本也在大幅提升。
-
目前金融機構大部分可利用的數據依然是傳統業務產生的數據,而外部數據源拓展不足,缺乏更高層面的統籌協調來支持全面的數據分析和使用。
基於以上原因,路孚特推出了自主研發的金融數據平台RDP。該平台應用統一的存儲層能力匯集來自全球的海量金融數據,通過完整的清洗、分析和增值處理流程後,集中分發給用戶。
RDP 研發總監董玉棟提到,路孚特已經與全球的證券交易所、期貨交易所等機構建立了合作關係,從數據生產端獲取到一手數據,面向全球發佈到數據消費的一端。簡單來講,就是“收之全球,發之全球”。
可以說,RDP 相當於一個全球金融行業數據的統籌協調中心,其目的是方便金融從業者獲取更全面的行業數據,同時盡可能減少用戶成本,增加數據價值。
RDP 如何幫助金融從業者以較低的成本訪問和使用數據?
據了解,企業在數據傳輸過程中,除了從上游不同業務數據庫中實時、定時傳輸到下游系統之外,還需要從外部合作商、供應商中獲取業務數據。RDP具有大數據級別的行業數據,那麼,它是如何幫助金融從業者以較低的成本便捷地訪問和使用這些數據?
RDP 的解決思路是:將其核心數據存儲在AWS 上,為用戶提供基於元數據驅動的統一的API 接口。RDP 的數據和API 接口可以通過所有主流的公有云產品、私有云設施,以及企業自有數據中心訪問。
從用戶角度來看,基於元數據的訪問大大簡化了客戶對數據的使用。但是,數據訪問越便捷意味著開發難度越高。董玉棟也提到,統一的API 背後,需要理解客戶不同類型的請求,並能夠高效執行,但云原生的API 網關並不能完全實現這種特性。
API 網關處於客戶端與各個微服務之間,擔任著反向代理的角色,負責將不同的請求路由到相對應的微服務中去。API 網關可以解決客戶端需求和每個微服務暴露的細粒度API 不匹配、部分服務使用的協議非Web 友好協議等問題。
為了提升API 性能,滿足用戶不同類型的訪問請求,路孚特自主研發了API 網關以及用戶數據權限管理系統。AWS 中的API 網關會註冊其所有的RDP API,包括內部消費的API 和麵向客戶的API。用戶請求到達以後,API 網關會自動驗證用戶的權限,並保證後續的合法數據請求快速遞交給相應的服務,而超出服務範圍的請求會自動拒絕。董玉棟表示,所有在RDP 上的產品設計都是從API 定義開始,這有助於實現把客戶需求放到第一位的目標,並最大化各種API 及服務的重用性,避免重複實現相同的功能。
在數據分發上,RDP 統一了流式處理、批量處理和基於請求的數據提供方式。對於流式數據的訪問,董玉棟提到,這類數據即時性很重要,RDP 通過在中間做多層緩存將數據持續且高速地推送給客戶。
批量數據請求分為“定制批量請求”和“隨機批量請求”兩種情況。對於定制批量請求,RDP 按照約定時間定時打包推送給用戶;對於隨機批量請求,則採用異步打包,然後將數據提取位置發送給用戶的方式處理。
對於面向搜索的數據,董玉棟介紹:“這類訪問基本都是同步請求,實時訪問我們的數據庫返回給客戶。有時候用戶基於搜索的數據量特別大,RDP 系統會進行職能預測,自動將這一類請求轉變成隨機批量數據請求來處理。”
那麼,如何應對諸如跨洋實時交易這類對時效性要求非常高的超低時延數據訪問?
趙儀解釋:“跨洋實時交易本身存在地理位置上的時延,再加上系統帶來的時延,通過雲服務訪問無法滿足超低時延的需求。即便是快到70ms 的時延,對於實時交易來講,也是一種延遲。”路孚特的做法是在全球部署數據中心,以此提高時效性。此外,目前公有云還無法提供具有超高時效性的數據,因此,比較合適的做法是將數據通過專線直接部署到用戶所在地。
元數據驅動的價值與挑戰
從簡單的庫表到整個數據平台,再到服務管理,元數據管理的範圍正在擴大,不斷突破傳統管理的範疇,並在大數據治理中發揮著關鍵作用。而RDP 的整個系統便是由元數據驅動的。
簡單來講,元數據是對數據本身進行描述的數據,如描述數據的格式、映射關係、語義、權限等。元數據管理具有以下三方面的價值:
-
可以為數據管理提供統一的視圖,方便數據交互共享;
-
實現數據自動關聯分析,為數據分析、問題定位等提供支撐;
-
便於建立數據標準,統一交換、存儲、應用口徑,減少共享壁壘,降低應用出錯機率,提升質量。
在大數據時代,數據的容量、多樣性等在持續擴充,元數據管理也面臨著挑戰。目前,元數據仍然沒有統一的標準,如何用一套統一的語義去描述種類繁多的金融數據間的特徵,並且真正和數據管理系統/ 微服務之間緊密集成而不是割裂的存在,是行業中普遍存在的問題。
企業首先需要集中化管理元數據,由一個專門且人數較少的架構師團隊定義元數據,並進行統一管理。其次,研發團隊要讓軟件能夠支持元數據體系,並與之融為一體,而非割裂存在。最後,不僅內部的系統要實現元數據驅動,系統間的相互訪問以及對外開放也需要遵循同一套體系。
隨著元數據驅動的數據管理、API 訪問和增值業務能力的增加,元數據實質上已經成為了更高級別抽象的代碼,這就帶來了一個難題:如何進行數據的生命週期管理。確切地說,這類複雜的問題沒有單一的解決方案,必須從系統級架構、可重用的代碼和服務、DevOps 和自動化測試、代碼安全掃描等多個方面來解決問題。
對此,陳強分享了以下幾點經驗:
(1)如何在權限管理系統中定義“誰”可以“管理”哪些“元數據”?可以把整個系統中的“誰”、“管理(行為)”、“元數據”這些業務概念也都元數據化,由統一的身份及權限系統通過共享服務進行統一管理。
(2)對於可以在線修改並實時生效的元數據,尤其是決定數據存儲和表現形式的元數據,如何保證由其驅動的數據系統的健壯性、穩定性和可控性?首先,在線元數據的修改和發布是獨立的異步流程,可由相應的權限進行控制;其次,對元數據的前後變化進行快照,並以版本號作為快照的唯一標識符,在發布和回滾元數據版本時可以明確地識別具體的快照內容;最後,發布和回滾的過程中,可以根據業務特點,根據需要輔以各種在線的自動化功能測試和發布策略。
(3)某些業務及技術實現的複雜度導致一些元數據的修改無法真正進行熱加載和實時生效,或者實現熱加載/ 部署的代價過高,但仍然需要業務管理專家而非研發人員控制和實施元數據修改的部署。RDP 在應用中會盡量利用公有云的彈性,對版本化後的元數據進行修改,並進行CI/CD 持續集成和自動化測試,同時輔助以藍/ 綠部署策略。這樣,元數據的版本控制與代碼的版本控制流程及部署策略就可以非常接近。不同的是,元數據的修改是通過易於使用的控制界面,主要由業務專家進行管理。在這背後,路孚特所有由業務專家使用的功能都會經過充分的測試,確保界面上可以操作的功能是健壯有效的。
隨著數據量的增長,RDP 如何平衡性能與成本?
隨著大數據的發展,數據平台難免要面對數據或作業爆發式增長所帶來的挑戰。RDP的用戶量和數據量每年都會大幅增長,相應的成本投資增長不容小覷。在這種數據量和計算量不斷增長的情況下,如何去平衡性能和成本?趙儀表示,這一問題的核心在於每個用戶計算成本的控制,即如何保證每個用戶計算成本不隨用戶數量和數據量的增加而顯著增加。RDP在控製成本方面可藉鑑的方法有:
(1)盡可能地在用戶間共享可以共享的計算,只需支付對用戶的分發成本;
(2)控制熱點數據的規模,在API 級區分熱點訪問和冷數據訪問;
(3)基於微服務的管理,方便用戶管理自己的數據需求;
(4)用戶輸入不同的數據源不盲目整合,避免在一個對像模型下產生巨量的數據集,從而降低用戶增加對單個用戶計算複雜度的影響;
(5)數據壓縮/ 訪問本地化/ 算法優化等傳統方法。
對於大數據平台而言,區分冷熱數據並安排不同的存儲方式是非常重要的一項工作,對存儲成本和計算性能至關重要。對於冷數據,由於調用頻率相對較低,可以通過冷壓縮,將數據壓縮到最小,再存儲起來的方式節省存儲成本;對於熱數據,則需要增加Cache或者採用一些優化策略,讓用戶能快速調用,從而提升計算性能。
數據本身並不產生價值,基於數據的計算才能帶來價值。為了保證上層計算的有效性,通常將數據放在距離計算最近的地方,否則會帶來傳輸的延遲。數據的統一存儲並非是將數據都放在同一個地方,這裡的統一存儲其實是一個邏輯概念。不同的數據應該放在不同的存儲中,才能使數據上層的計算最有效,並將數據延遲降到最低。RDP 會針對不同的訪問請求提供不同的數據訪問緩存,並輔以共享計算的方式對數據傳輸進行優化。