日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

开放计算架构:蚂蚁金服是如何用一套架构容纳所有计算的?

發(fā)布時(shí)間:2024/8/23 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开放计算架构:蚂蚁金服是如何用一套架构容纳所有计算的? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

螞蟻金服在過(guò)去十五年重塑支付改變生活,為全球超過(guò)十二億人提供服務(wù),這些背后離不開技術(shù)的支撐。在 2019 杭州云棲大會(huì)上,螞蟻金服將十五年來(lái)的技術(shù)沉淀,以及面向未來(lái)的金融技術(shù)創(chuàng)新和參會(huì)者分享。我們將其中的優(yōu)秀演講整理成文并將陸續(xù)發(fā)布在“ 螞蟻金服科技”公眾號(hào)上,本文為其中一篇。

十幾年來(lái),螞蟻金服一直在解決用技術(shù)重塑金融服務(wù)的問(wèn)題,在解決這個(gè)問(wèn)題的過(guò)程中涉及到兩個(gè)方向的技術(shù)領(lǐng)域,第一就是解決怎么把錢從一個(gè)帳戶移到另一個(gè)帳戶,這個(gè)過(guò)程中出現(xiàn)海量、安全、可用性問(wèn)題怎么解決,我們的答案就是多地容災(zāi)、高可用的分布式架構(gòu);第二,新的數(shù)字金融時(shí)代到來(lái),如何更多更好的利用數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)發(fā)展,也就是數(shù)據(jù)智能技術(shù)。本文將會(huì)分享螞蟻在數(shù)據(jù)智能方面的一些進(jìn)展,以及我們的思考。

首先,我們看一下金融數(shù)據(jù)智能有哪些需求,和傳統(tǒng)的大數(shù)據(jù)有什么不一樣的地方:

實(shí)時(shí)性要求高,實(shí)時(shí)數(shù)據(jù)以兩倍以上的速度增長(zhǎng),在線決策越來(lái)越多,不再是把數(shù)據(jù)離線做決策再部署到線上;
計(jì)算場(chǎng)景復(fù)雜多樣,以前可能是一個(gè)簡(jiǎn)單的聚合,逐漸進(jìn)化到用規(guī)則做決策,基于圖、基于機(jī)器學(xué)習(xí)等決策,整個(gè)計(jì)算的形式越來(lái)越多樣化;
數(shù)據(jù)鏈路長(zhǎng),研發(fā)調(diào)試效率低,當(dāng)你要做全鏈路數(shù)據(jù)研發(fā)的時(shí)候,從頭到尾會(huì)經(jīng)歷十幾個(gè)系統(tǒng),對(duì)整體的數(shù)據(jù)研發(fā)提出了很大的挑戰(zhàn);
計(jì)算及存儲(chǔ)高可用,包括跨城市的容災(zāi),高可靠的計(jì)算服務(wù);
數(shù)據(jù)安全、監(jiān)管合規(guī)、風(fēng)險(xiǎn)防控,需要做嚴(yán)格的數(shù)據(jù)安全和隱私保護(hù),特別在監(jiān)管層面要合規(guī)。

過(guò)去十幾年,計(jì)算技術(shù)不斷演進(jìn),從大規(guī)模數(shù)據(jù)倉(cāng)庫(kù)批計(jì)算,到實(shí)時(shí)計(jì)算和流計(jì)算,再到交互式分析,一方面能解決一部分問(wèn)題,另一方面給我們帶來(lái)了新的挑戰(zhàn)。比如,多種計(jì)算模式帶來(lái)多次研發(fā)的效率問(wèn)題,多套系統(tǒng)帶來(lái)多樣存儲(chǔ)需求的成本問(wèn)題,以及不同容災(zāi)和數(shù)據(jù)安全要求帶來(lái)的復(fù)雜度問(wèn)題等。

為了解決計(jì)算多樣性帶來(lái)的問(wèn)題,我們需要一個(gè)更為開放的計(jì)算架構(gòu)。

螞蟻金服開放計(jì)算架構(gòu)

做一套系統(tǒng)解決一切問(wèn)題是技術(shù)人員很自然的想法,但難點(diǎn)是怎么定義這個(gè)系統(tǒng)的邊界。我們認(rèn)為,計(jì)算和業(yè)務(wù)本身是緊密連接的,業(yè)務(wù)的需求變化很有可能需要探索越來(lái)越多的計(jì)算模式。所以我們的實(shí)踐是這樣的開放計(jì)算架構(gòu),它在不同層面上做了統(tǒng)一,以兼容不同的計(jì)算模式。

首先是統(tǒng)一存儲(chǔ)層,將各個(gè)存儲(chǔ)系統(tǒng)打通進(jìn)行數(shù)據(jù)共享,這樣一來(lái)就可以根據(jù)計(jì)算需求做定制化的優(yōu)化,內(nèi)部數(shù)據(jù)自動(dòng)回流。

第二是統(tǒng)一數(shù)據(jù)安全規(guī)范,在統(tǒng)一存儲(chǔ)上實(shí)現(xiàn)統(tǒng)一元數(shù)據(jù)管理及接入,并且數(shù)據(jù)血緣互通,統(tǒng)一鑒權(quán)及數(shù)據(jù)訪問(wèn)權(quán)限體系,統(tǒng)一數(shù)據(jù)安全等級(jí)和隱私保護(hù)體系。

第三是統(tǒng)一編程模型,基于標(biāo)準(zhǔn)SQL和擴(kuò)展,做業(yè)務(wù)研發(fā)的時(shí)候面對(duì)的是下層抽象出來(lái)的數(shù)據(jù),真正做面向數(shù)據(jù)的編程,不需要關(guān)注用交互式分析還是其它計(jì)算模式,也不需要關(guān)注數(shù)據(jù)是如何存儲(chǔ)的。這樣做數(shù)據(jù)研發(fā)以及寫業(yè)務(wù)邏輯的時(shí)候可以提升效率。這方面我們做了很多的探索,目標(biāo)就是當(dāng)你在做SQL研發(fā)的時(shí)候可以降低兩個(gè)數(shù)量級(jí),原來(lái)可能要寫幾萬(wàn)行代碼,現(xiàn)在只寫幾百行。

經(jīng)過(guò)這些統(tǒng)一我們形成了如上的架構(gòu),這個(gè)架構(gòu)可以根據(jù)新的技術(shù)進(jìn)一步擴(kuò)展。

開放計(jì)算架構(gòu)下的AI引擎

AI計(jì)算是開放架構(gòu)下重要的能力,我們需要打造更加靈活智能的AI引擎。

目前絕大多數(shù)公司的人工智能系統(tǒng),會(huì)遵循這樣一個(gè)架構(gòu):有一個(gè)數(shù)據(jù)倉(cāng)庫(kù)或集群進(jìn)行數(shù)據(jù)清洗和預(yù)處理,然后取出一個(gè)表,和數(shù)據(jù)標(biāo)注一起在一個(gè)模型平臺(tái)上進(jìn)行訓(xùn)練,訓(xùn)練出來(lái)的模型最后再部署到線上去進(jìn)行預(yù)測(cè)。這整個(gè)流程經(jīng)過(guò)了多個(gè)系統(tǒng),所以這個(gè)數(shù)據(jù)事實(shí)上可能會(huì)有多份存儲(chǔ),加上模型的傳輸也會(huì)花費(fèi)比較多的時(shí)間,你很難做到真正的實(shí)時(shí)性,這里面用戶也往往需要研發(fā)多個(gè)平臺(tái)和組件才能滿足需求。

開放架構(gòu)下可以插入AI引擎,我們?cè)赟QL層和深度學(xué)習(xí)引擎都做了一些工作。SQLFLow相當(dāng)于用SQL描述你對(duì)應(yīng)用的需求,底層會(huì)直接針對(duì)SQL產(chǎn)生出機(jī)器學(xué)習(xí)的任務(wù)來(lái)訓(xùn)練模型。

ElasticDL我們剛剛在9月11日宣布開源,它是基于TensorFlow的一個(gè)彈性調(diào)度的AI引擎。當(dāng)你資源緊張或者發(fā)生錯(cuò)誤時(shí),仍然可以進(jìn)行高效的AI訓(xùn)練。同時(shí)它讓AI的訓(xùn)練變得更加簡(jiǎn)單,可以在命令行直接訓(xùn)練Keras模型。通過(guò)這些工具,我們希望讓AI的訓(xùn)練和整個(gè)使用過(guò)程更加的簡(jiǎn)潔。

關(guān)于SQLFlow和ElasticDL想了解更多可以可以查看他們的開源主頁(yè) sqlflow.org 和 elasticdl.org

在開放性的架構(gòu)下,事實(shí)上也不需要做引擎的改變,一般的模式是,當(dāng)有一個(gè)新的引擎或工具可以直接拿過(guò)來(lái)使用,使用完了覺得需要優(yōu)化,就在上面迭代提升。

開放計(jì)算架構(gòu)下的金融級(jí)圖計(jì)算

在金融領(lǐng)域里,金融場(chǎng)景大量依賴于圖數(shù)據(jù),我們需要強(qiáng)大的圖計(jì)算能力,那么開放計(jì)算架構(gòu)如何支持圖計(jì)算呢?

上圖是螞蟻整個(gè)圖計(jì)算發(fā)展的歷程,四年以前我們從做圖數(shù)據(jù)產(chǎn)品開始,到做離線全圖的迭代計(jì)算引擎,然后做流圖融合的引擎,然后是高速的圖緩存,以及到現(xiàn)在把圖相關(guān)的所有東西聚合起來(lái),做成一站式的圖平臺(tái)。

首先第一個(gè)是金融級(jí)分布式圖數(shù)據(jù)庫(kù)GeaBase,解決的問(wèn)題是,當(dāng)你有海量的圖數(shù)據(jù),數(shù)據(jù)之間有關(guān)系的時(shí)候,提供強(qiáng)一致、高容量的存儲(chǔ)。它和現(xiàn)有的一些圖數(shù)據(jù)庫(kù)最大的區(qū)別是,很多現(xiàn)有的圖數(shù)據(jù)庫(kù)都是把所有數(shù)據(jù)收起來(lái)做一個(gè)計(jì)算,這是最簡(jiǎn)單的做法,但會(huì)導(dǎo)致性能瓶頸,我們做的是把計(jì)算下發(fā)到worker以實(shí)現(xiàn)分布式的高性能。同時(shí)GeaBase可以根據(jù)用戶的業(yè)務(wù)需求去選擇需要什么樣的一致性。

然后是大規(guī)模全圖計(jì)算,采用了自適應(yīng)的分區(qū)策略來(lái)降低資源門檻,因?yàn)楹芏鄨D計(jì)算里面都是需要把全圖加載到內(nèi)存里面,然后進(jìn)行迭代,這種情況一些超大圖對(duì)內(nèi)存的需求量非常高,所以我們做了一些優(yōu)化希望降低資源的使用率。同時(shí)我們也能夠更靈活的支持更多的圖算法,以及能夠做非常大規(guī)模高效圖關(guān)系的挖掘,這個(gè)也已經(jīng)在內(nèi)部的風(fēng)控場(chǎng)景落地。

然后還有在線流圖融合,螞蟻研發(fā)了業(yè)界首個(gè)實(shí)時(shí)多模融合計(jì)算框架。起因是我們發(fā)現(xiàn),在業(yè)務(wù)中有很多時(shí)候有數(shù)據(jù)進(jìn)來(lái),同時(shí)要進(jìn)行很多的圖計(jì)算,計(jì)算完結(jié)果以后再輸出,這在業(yè)界也是比較前沿的探索課題,我們做到了在海量大圖上同時(shí)能夠做很多層的計(jì)算。

基于對(duì)圖計(jì)算的強(qiáng)烈需求,我們做了一個(gè)高性能的圖緩存,里面的關(guān)鍵技術(shù)是基于無(wú)沖突的Hash函數(shù),以及對(duì)于圖數(shù)據(jù)結(jié)構(gòu)的壓縮。大家可以看下圖中的效果,我們最高可以壓縮到原始數(shù)據(jù)的五分之一,性能為業(yè)界優(yōu)秀同類產(chǎn)品的2-5倍。

當(dāng)有了這么多系統(tǒng)后,我們遇到的問(wèn)題是,在一個(gè)場(chǎng)景下需要針對(duì)多個(gè)引擎做研發(fā),所以我們開發(fā)了一站式平臺(tái)AntGraph,為從開發(fā)調(diào)試到生產(chǎn)上線整個(gè)流程提供便利。我們把所有的訪問(wèn)統(tǒng)一到一個(gè)Graph SQL下面,關(guān)于這個(gè)我們也在進(jìn)行一些額外的探索,因?yàn)榈降譙QL是不是最適合于Graph語(yǔ)言是有爭(zhēng)議的,但我們可以用SQL部分描述性的功能再加上一些擴(kuò)展,可以完成我們想要的功能。

經(jīng)過(guò)前面針對(duì)圖計(jì)算能力的研發(fā)后,我們擁有多個(gè)圖計(jì)算引擎,同時(shí)為了優(yōu)化客戶體驗(yàn),在上層也用SQL語(yǔ)言進(jìn)行統(tǒng)一。這樣我們的開放計(jì)算架構(gòu)就擁有了強(qiáng)大的圖計(jì)算能力。

開放計(jì)算架構(gòu)下的融合計(jì)算

經(jīng)過(guò)前面的研發(fā),開放計(jì)算架構(gòu)里有了大量的計(jì)算引擎,雖然在上層進(jìn)行了統(tǒng)一,但這種情況往往不是最優(yōu)的選擇。當(dāng)我們對(duì)已有的計(jì)算模式已經(jīng)有把握,了解的比較清楚的時(shí)候,有沒(méi)有可能對(duì)它們進(jìn)行更多的優(yōu)化?很多情況下用戶需要的是要多種模式融合起來(lái)的計(jì)算,有時(shí)候需要流加上圖,有時(shí)候需要流加機(jī)器學(xué)習(xí)加其他的東西,我們給出的答案就是融合計(jì)算引擎。

融合計(jì)算在底層基于Ray,Ray是螞蟻金服聯(lián)合 UC Berkeley 大學(xué)推進(jìn)的新一代計(jì)算引擎,融合計(jì)算通過(guò)一套引擎解決復(fù)雜場(chǎng)景問(wèn)題,通過(guò)動(dòng)態(tài)計(jì)算及狀態(tài)共享提高效率,實(shí)現(xiàn)研發(fā)、運(yùn)行時(shí)、容災(zāi)一體化。

融合計(jì)算已經(jīng)在螞蟻若干場(chǎng)景中落地,包括:

  • 動(dòng)態(tài)圖推導(dǎo),流+圖計(jì)算,性能上可以1秒內(nèi)完成6層迭代查詢,用于實(shí)時(shí)反套現(xiàn)、欺詐識(shí)別;
  • 金融在線決策,流+分布式查詢+在線服務(wù),性能上數(shù)據(jù)生產(chǎn)到分布式查詢一秒內(nèi),用于金融網(wǎng)絡(luò)監(jiān)控、機(jī)構(gòu)渠道路由等;
  • 在線機(jī)器學(xué)習(xí),流+分布式機(jī)器學(xué)習(xí),性能上實(shí)現(xiàn)秒級(jí)數(shù)據(jù)樣本到模型更新,用于智能營(yíng)銷、實(shí)時(shí)推薦、流控等。

融合計(jì)算并不會(huì)取代其它的引擎,而是作為補(bǔ)充,用于部分合適的場(chǎng)景。通過(guò)上面的分享可以看到,這套架構(gòu)可以容納各種不同種類和作用的計(jì)算引擎,這也是開放二字的意義,如果未來(lái)有一個(gè)新的引擎,或者業(yè)務(wù)對(duì)數(shù)據(jù)有新的需求,完全可以插入自己的引擎直接使用。

最后總結(jié)一下螞蟻金服對(duì)數(shù)據(jù)智能未來(lái)的整體愿景,我們希望未來(lái)的存儲(chǔ)是可以打通的,所有的引擎是可以插拔、融合的,上層希望有標(biāo)準(zhǔn)的數(shù)據(jù)訪問(wèn)模式,所有的這一套組合在一起,我們把它叫做Big Data Base。我們認(rèn)為,大數(shù)據(jù)經(jīng)過(guò)過(guò)去十多年的發(fā)展,一定會(huì)進(jìn)化到下一個(gè)階段,對(duì)數(shù)據(jù)的增刪改查會(huì)像數(shù)據(jù)庫(kù)一樣簡(jiǎn)單。

另外一個(gè)層面,Big Data Base還意味著可以在一個(gè)體系中很方便的使用包含機(jī)器學(xué)習(xí)、圖計(jì)算以及未來(lái)各種各樣的計(jì)算引擎。這套開放計(jì)算架構(gòu)中的很多組件我們已經(jīng)開源,這個(gè)大的體系我們還在研發(fā)過(guò)程中,未來(lái)會(huì)和大家分享更多的細(xì)節(jié),希望大家能夠一起參與進(jìn)來(lái),把金融的數(shù)據(jù)智能領(lǐng)域推到下一個(gè)階段。


原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

總結(jié)

以上是生活随笔為你收集整理的开放计算架构:蚂蚁金服是如何用一套架构容纳所有计算的?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。