蚂蚁金服开放计算架构:下一代金融级计算架构
當前互聯網技術早已進入了大數據、人工智能的階段,各種計算模式,計算引擎層出不窮。從10年前的MapReduce分布式計算開始,幾乎每三年就會出現一次新的計算引擎更迭,從開山鼻祖的Hadoop,到后來流式計算的Storm,之后出現了基于內存迭代計算的Spark紅極一時,然后到今天Flink又以迅雷不及掩耳之勢走入大家的視野。同時不僅僅是數據計算,機器學習框架最近幾年也是層出不窮:Keras,PyTorch,Caffe2,TensorFlow……可以說每一個計算引擎的興起,都意味著計算技術一次新的突破。
伴隨著計算引擎的發展,如今互聯網商業服務越發依賴大數據及人工智能技術,從最初的數據倉庫分析型業務,已經逐漸演變成現在實時性更強,復雜度更高的智能決策服務。
兩者的結合為更多的商業創新帶來可能,但是背后的技術現象卻是技術體系越發龐大與復雜,各個計算引擎的交替使用帶來學習成本的直線飆升,同時研發成本的增加與效率的降低也是普遍問題。比研發效能降低更為糟糕的是不同的計算引擎之間數據無法共享及打通,絕大多數場景需要使用中間存儲進行轉儲,造成了存儲資源的浪費與數據量的成倍放大。除此之外,諸如缺少統一元數據,存在數據安全等隱患始終威脅著日益龐大且臃腫的系統體系。
面對這些不可忽視的問題,螞蟻金服在2018年提出了開放計算架構的概念,希望通過設計一套符合當下計算體系,同時又能應對未來計算趨勢的技術框架,來解決計算引擎更新、統一研發體系、數據共享互通、數據風險防控等幾方面問題。
首先在計算引擎方面,開放計算框架認為計算引擎始終是持續更新的,因此需要有一套統一的元數據及狀態管理,針對不同的計算作業狀態進行統一管理,達到兼容任何一種計算引擎,并且實現插件化能力;另外在研發層面,不同的計算引擎有不同的研發模式與API接口,要想統一各種引擎的研發能力,需要在頂層進行計算DSL的封裝。為此,我們推出了SmartSQL,在標準SQL規范之上擴展了部分功能及語法,希望用最簡單通用的語言,描述絕大部分的計算及機器學習作業;另外,為了解決多種引擎數據無法打通及共享的問題,螞蟻金服自主研發了統一存儲系統,支持多種類型的數據存儲格式,同時支持一份數據不同格式之間的自動轉換及遷移,極大地簡化了引擎層對存儲的使用,同時節約了大量成本。
不只是傳統的計算及存儲形態,在目前的互聯網服務中有大量的關系型數據,同時諸如社交,風控,反洗錢,營銷等場景都對關系計算有大量的需求,因此圖計算作為一種新的數據形態也是螞蟻金服重點投入的領域。在開放計算架構之中,包含了離/在線一體的圖計算引擎及存儲,從使用場景,可以覆蓋在線、實時、離線各個場景,用于支持不同時效性的業務。從功能上,具備金融級圖數據庫,超大規模圖計算,流圖混合的動態圖計算以及超快內存圖等計算能力,覆蓋了不同量級的數據計算能力。另外與其他計算引擎一樣,螞蟻金服也研發了基于SQL規則的Graph SQL作為統一圖查詢語言,用于覆蓋所有的圖計算引擎。
在機器學習方面,開放計算架構還包含了之前已經開源的SQLFlow以及剛剛推出的ElasticDL彈性深度學習框架。SQLFLow作為連接數據與訓練的橋梁,在標準SQL的基礎上擴展了針對機器學習的語法,讓數據分析人員可以像寫SQL一樣訓練出自己的數據模型。另外SQLFlow支持市面上大多數機器學習引擎,以及ElasticDL彈性框架。ElasticDL是基于k8s體系的彈性深度機器學習框架,兼容TensorFlow引擎與Keras語法,通過彈性調度達到減少訓練等待時間以及訓練運行時間的目的。
這一整套體系又稱為Big Data Base,就是螞蟻金服摸索出來的金融數據智能的最佳實踐,即下一代大數據的基石。
在9月27日杭州云棲大會第三天,螞蟻金服將在數字金融技術專場上分享開放體系下的金融數據實踐,包括螞蟻開放計算架構的技術細節,歡迎屆時關注。
原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的蚂蚁金服开放计算架构:下一代金融级计算架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 即将发版!Apache Flink 1.
- 下一篇: 达摩院送你100万,请坚持“看月亮”