螞蟻金服開放計算架構:下一代金融級計算架構

當前互聯網技術早已進入了大數據、人工智能的階段,各類計算模式,計算引擎層出不窮。從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語法,經過彈性調度達到減小訓練等待時間以及訓練運行時間的目的。oop

這一整套體系又稱爲Big Data Base,就是螞蟻金服摸索出來的金融數據智能的最佳實踐,即下一代大數據的基石。學習

在9月27日杭州雲棲大會第三天,螞蟻金服將在數字金融技術專場上分享開放體系下的金融數據實踐,包括螞蟻開放計算架構的技術細節,歡迎屆時關注。大數據

相關文章
相關標籤/搜索