隨著數(shù)字化變革的深入,實(shí)時(shí)數(shù)據(jù)處理、分析與海量數(shù)據(jù)處理需求往往同時(shí)存在,推動(dòng)了不同技術(shù)的融合。流式圖計(jì)算便是這樣產(chǎn)生的 “新物種” 之一。
流式計(jì)算針對(duì)流式動(dòng)態(tài)變化的數(shù)據(jù)流,一般動(dòng)態(tài)的數(shù)據(jù)流有實(shí)時(shí)的日志流,或者數(shù)據(jù)庫的變化日志,主要是為了場景中的實(shí)時(shí)應(yīng)用需求。基于流式計(jì)算可以很好地提升數(shù)據(jù)計(jì)算的實(shí)效性,能夠基于實(shí)時(shí)的數(shù)據(jù)進(jìn)行決策分析。圖計(jì)算是指將數(shù)據(jù)按照?qǐng)D的方式建模,數(shù)據(jù)被轉(zhuǎn)為圖模型之后,可以很好地呈現(xiàn)出數(shù)據(jù)間的關(guān)聯(lián)性,因此圖計(jì)算非常適用于處理海量數(shù)據(jù)。
而流式圖計(jì)算則是指的是基于流式的實(shí)時(shí)數(shù)據(jù)構(gòu)建圖模型,進(jìn)而進(jìn)行圖分析和計(jì)算。它是流式計(jì)算和圖數(shù)據(jù)模型的交叉領(lǐng)域,一方面它基于流式實(shí)時(shí)的數(shù)據(jù)進(jìn)行處理,另一方面它在實(shí)時(shí)數(shù)據(jù)之上構(gòu)建圖模型進(jìn)行計(jì)算。
去年,螞蟻開源了和清華大學(xué)共同研發(fā)的圖數(shù)據(jù)庫 TuGraph DB。TuGraph DB 是圖數(shù)據(jù)庫基準(zhǔn)性能測試 LDBC-SNB 世界紀(jì)錄保持者,性能領(lǐng)先第二名 7 倍以上。TuGraph 圖平臺(tái)的整體架構(gòu)包含了圖存儲(chǔ)引擎、圖數(shù)據(jù)庫、離線圖計(jì)算引擎,流式圖分析引擎和圖學(xué)習(xí)引擎。
近日,螞蟻開源工業(yè)級(jí)流式圖計(jì)算引擎 TuGraph-Analytics。流圖計(jì)算引擎是螞蟻圖計(jì)算的一個(gè)子系統(tǒng),屬于螞蟻圖計(jì)算大家庭的一部分。和 TuGraph-DB 是兄弟產(chǎn)品的關(guān)系,TuGraph-DB 主要是圖數(shù)據(jù)庫,主要應(yīng)用場景在數(shù)據(jù)的管理和查詢。TuGraph-Analytics 是流式圖計(jì)算引擎,偏重于流式實(shí)時(shí)圖的分析和計(jì)算。兩者之間在領(lǐng)域上是互補(bǔ)的關(guān)系,同時(shí)在解決業(yè)務(wù)的問題時(shí),一般也是聯(lián)動(dòng)運(yùn)行,比如基于 TuGraph-Analytics 進(jìn)行實(shí)時(shí)數(shù)據(jù)分析,并將分析之后的數(shù)據(jù)寫回到 TuGraph-DB,提供查詢服務(wù)。
目前流式圖計(jì)算在螞蟻內(nèi)部得到廣泛應(yīng)用,廣泛應(yīng)用到金融風(fēng)控 (支付風(fēng)控、信貸風(fēng)控、基礎(chǔ)安全風(fēng)控)、知識(shí)圖譜 (商戶圖譜、資金圖譜、企業(yè)圖譜)、會(huì)員社交 (新春五福、親密支付、會(huì)員增長) 以及數(shù)據(jù)應(yīng)用 (資金基線、數(shù)據(jù)血緣、歸因分析) 等場景。
為了深入了解 TuGraph Analytics 的發(fā)展,我們邀請(qǐng)到 TuGraph Analytics 負(fù)責(zé)人潘臻軒來聊聊 TuGraph-Analytics 背后的故事和技術(shù)特性。
潘臻軒 (泰初)
螞蟻集團(tuán)資深技術(shù)專家,現(xiàn)負(fù)責(zé)螞蟻圖計(jì)算部門流式圖計(jì)算團(tuán)隊(duì)。2012 年加入阿里集團(tuán)數(shù)據(jù)平臺(tái),2016 年加入螞蟻集團(tuán)數(shù)據(jù)技術(shù)部,經(jīng)歷了阿里和螞蟻實(shí)時(shí)計(jì)算從 0 到 1 的演進(jìn),從 17 年底開始負(fù)責(zé)流式圖系統(tǒng)和團(tuán)隊(duì)的構(gòu)建,從 0 到 1 打造了螞蟻的流式圖系統(tǒng)。對(duì)實(shí)時(shí)計(jì)算和圖計(jì)算以及上層的應(yīng)用場景有深入的理解。
流圖計(jì)算價(jià)值的驗(yàn)證
OSCHINA:TuGraph Analytics 此前在螞蟻內(nèi)部的成長路徑是怎樣的?
潘臻軒:
TuGraph Analytics 在螞蟻內(nèi)部的成長路徑主要分為三個(gè)階段:
第一個(gè)階段是:探索和落地的階段,TuGraph Analytics 起步于 2017 年年初,當(dāng)時(shí)由于實(shí)時(shí)風(fēng)控場景的需求,TuGraph Analytics 團(tuán)隊(duì)開始探索如何基于流式計(jì)算的方式進(jìn)行實(shí)時(shí)風(fēng)控。
由于資金關(guān)系天然適合圖模型進(jìn)行描述,因此團(tuán)隊(duì)開始探索流式圖計(jì)算方向,當(dāng)時(shí)團(tuán)隊(duì)只有一名正式員工和一名實(shí)習(xí)生。
由于流圖計(jì)算屬于流計(jì)算和圖計(jì)算的交叉方向,因此團(tuán)隊(duì)一方面在理解業(yè)務(wù)需求,一方面探索流式圖計(jì)算相關(guān)的技術(shù)實(shí)現(xiàn)方案。在經(jīng)過長達(dá)一年多的探索和實(shí)驗(yàn)之后,2018 年年初,TuGraph Analytics 在技術(shù)上有了一定初步的方案并在部分場景驗(yàn)證了方案的可行性。
在初步驗(yàn)證了方案可行性之后, 團(tuán)隊(duì)期望能夠在更大規(guī)模的應(yīng)用場景落地,而在當(dāng)時(shí)花唄風(fēng)控團(tuán)隊(duì)也有實(shí)時(shí)反套現(xiàn)的訴求。經(jīng)過大家的對(duì)方案的嚴(yán)苛的論證,大家都認(rèn)可基于流圖的方案可以更好的支持實(shí)時(shí)反套現(xiàn)的需求。基于這樣的考慮,從 2018 年 6、7 月份開始兩個(gè)團(tuán)隊(duì)開始進(jìn)入閉關(guān)階段,期待在 2018 年雙 11 大促上線,經(jīng)過半年的閉關(guān)打磨,以及對(duì)多輪驗(yàn)證和壓測,TuGraph Analytics 順利在 2018 年雙 11 順利上線。
第二個(gè)階段是:體系化建設(shè)和規(guī)模化運(yùn)營,TuGraph Analytics 順利支撐完雙 11 之后,如何讓 TuGraph Analytics 能夠能快更好地支持業(yè)務(wù)上線應(yīng)用,以及在有限人力的情況下如何更好地支持更多的業(yè)務(wù)是當(dāng)時(shí)團(tuán)隊(duì)面臨的最大挑戰(zhàn)。當(dāng)時(shí)團(tuán)隊(duì)通過對(duì)場景的分析和思考,創(chuàng)新性的提出了 SQL+Gremlin 融合的查詢語言,通過將圖模型和表模型進(jìn)行深度融合,從而讓業(yè)務(wù)快速完成全鏈路的流圖計(jì)算邏輯的開發(fā)。
同時(shí),TuGraph Analytics 從業(yè)務(wù)使用流程的痛點(diǎn)出發(fā),基于流圖計(jì)算能力進(jìn)行延伸,不斷在能力邊界上突破,構(gòu)建了圖仿真和圖探索等多種圖計(jì)算的能力。另一方面,由于 TuGraph Analytics 在雙 11 大放異彩的技術(shù)價(jià)值,有更多的技術(shù)中臺(tái)團(tuán)隊(duì)開始和 TuGraph Analytics 團(tuán)隊(duì)一起攜手構(gòu)建多種多樣的流圖計(jì)算的應(yīng)用,比如信貸風(fēng)控、安全風(fēng)控、知識(shí)圖譜和歸因分析等。通過 TuGraph Analytics 在自身體系完備性的逐步完善,以及很多兄弟團(tuán)隊(duì)的一起同行,TuGraph Analytics 在螞蟻得到的廣泛的應(yīng)用。
第三個(gè)階段是:核心技術(shù)深耕和技術(shù)能力輸出,TuGraph Analytics 在螞蟻內(nèi)部得到了廣泛應(yīng)用。于此同時(shí)伴隨著系統(tǒng)的規(guī)劃化應(yīng)用,場景的豐富性和業(yè)務(wù)的多樣性也對(duì) TuGraph Analytics 提出了很多新的挑戰(zhàn),比如在查詢語言上,如何實(shí)現(xiàn)多查詢的自動(dòng)合并優(yōu)化從而加速業(yè)務(wù)的執(zhí)行時(shí)間,以及隨著圖數(shù)據(jù)規(guī)模越來越大,如何在云原生環(huán)境下實(shí)現(xiàn)計(jì)算存儲(chǔ)分離的流式圖存儲(chǔ)引擎等。團(tuán)隊(duì)通過持續(xù)的探索,逐一攻克相關(guān)的挑戰(zhàn)和難題。
在攻克相關(guān)的難題過程中,TuGraph Analytics 團(tuán)隊(duì)將其中的創(chuàng)新點(diǎn)整理成相關(guān)論文。當(dāng)前基于 TuGraph Analytics 的相關(guān)論文《GeaFlow: A Graph Extended And Accelerated DataFlow System》也被數(shù)據(jù)庫頂級(jí)會(huì)議 Sigmod 錄用。于此同時(shí),TuGraph Analytics 還和兄弟團(tuán)隊(duì)一起將核心能力輸出到外部客戶,在銀行場景得到部署和應(yīng)用。
OSCHINA:流式計(jì)算和圖數(shù)據(jù)模型交叉會(huì)產(chǎn)生哪些技術(shù)難點(diǎn)?TuGraph Analytics 是怎么解決的?
潘臻軒:
流式圖計(jì)算和圖模型交叉會(huì)帶來多個(gè)方向的難點(diǎn),首先,通用流式計(jì)算在圖模型的支持比較欠缺,無法支持流式動(dòng)態(tài)圖的計(jì)算,只能通過雙流 Join 的方式來模擬圖遍歷。而因此會(huì)引起存儲(chǔ)空間放大、計(jì)算性能慢等問題。而通用的圖計(jì)算引擎一般偏重離線靜態(tài)圖數(shù)據(jù),不支持動(dòng)態(tài)圖的計(jì)算和分析。
TuGraph Analytics 構(gòu)建一整套的流式圖的計(jì)算系統(tǒng),主要是構(gòu)建了基于圖的流式計(jì)算框架來支持流式圖的計(jì)算模型,同時(shí)圍繞動(dòng)態(tài)圖構(gòu)建了自研了流式動(dòng)態(tài)圖存儲(chǔ)引擎,并且為了解決用戶的易用性,創(chuàng)新性的實(shí)現(xiàn)了 SQL + 圖查詢語言(Gremlin/GQL)的融合語言。
OSCHINA:請(qǐng)?jiān)敿?xì)介紹下 TuGraph Analytics 的技術(shù)架構(gòu)和亮點(diǎn)技術(shù)設(shè)計(jì)。
潘臻軒:
TuGraph Analytics 的總體架構(gòu)如圖所示,最下面我們基于 K8S 之上構(gòu)建云原生的執(zhí)行框架,上面是自研的流式圖數(shù)據(jù)狀態(tài)管理、統(tǒng)一的圖標(biāo)執(zhí)行引擎引擎以及基于圖模型的用戶 API 定義,基于用戶 API 之上,TuGraph Analytics 提供了一套圖表融合的流式圖計(jì)算查詢語言。
核心亮點(diǎn):定義了工業(yè)界首個(gè)流圖計(jì)算引擎,提供一套流式圖計(jì)算的 API 支持,并定義了圖表融合的查詢語言,同時(shí)自研了高性能的流式圖存儲(chǔ)引擎。
OSCHINA:團(tuán)隊(duì)在開發(fā) TuGraph Analytics 的過程中,是否有重要技術(shù)路線選擇的經(jīng)歷,可以聊聊當(dāng)時(shí)的想法。
潘臻軒:
重要技術(shù)路線選擇:主要是 DSL 設(shè)計(jì)上和流式圖存儲(chǔ)引擎的開發(fā)上,在 DSL 的設(shè)計(jì)上,我們從真實(shí)的場景和訴求觸發(fā),判斷圖表融合對(duì)實(shí)時(shí)圖計(jì)算的重要性,而不是僅僅支持圖查詢語言或者 SQL,從而在使用體驗(yàn)上能夠讓用戶即使用 SQL 處理關(guān)系型計(jì)算也能夠用圖查詢語言處理圖分析和遍歷。
而在流式圖存儲(chǔ)上,我們從云原生化大的趨勢(shì)入手,構(gòu)建了基于云存儲(chǔ)的 TuGraph 流式圖計(jì)算引擎。但是在人力都非常有限,但是今天看都形成了我們的核心競爭力。
OSCHINA:此次開源 TuGraph Analytics 的契機(jī)是什么?
潘臻軒:
此次,開源 TuGraph Analytics 主要的契機(jī)是 TuGraph Analytics 在螞蟻歷時(shí)六年多的研發(fā),在螞蟻內(nèi)部得到的廣泛的應(yīng)用,充分的驗(yàn)證了流圖計(jì)算的技術(shù)價(jià)值。同時(shí),當(dāng)前流圖在行業(yè)還處于早期的階段,TuGraph Analytics 希望通過開源讓更多的人認(rèn)識(shí)和看見流圖計(jì)算的價(jià)值和意義。讓更多的人一起參與建設(shè)流圖計(jì)算。
工業(yè)級(jí)流圖數(shù)據(jù)技術(shù)尚處早期階段
OSCHINA:談?wù)?TuGraph Analytics 的技術(shù)創(chuàng)新之處與優(yōu)勢(shì),以及 TuGraph Analytics 在其所處領(lǐng)域的技術(shù)水平。
潘臻軒:
核心創(chuàng)新之處,在圖計(jì)算體系中填補(bǔ)了行業(yè)在工業(yè)級(jí)流式圖計(jì)算方向的空白。完整的實(shí)現(xiàn)了一套流式圖計(jì)算的系統(tǒng),從而解決實(shí)時(shí)的圖計(jì)算的業(yè)界難題。
優(yōu)勢(shì)是基于流式圖計(jì)算,可以支持高吞吐超大規(guī)模的圖數(shù)據(jù)規(guī)模下的實(shí)時(shí)計(jì)算。
當(dāng)前該領(lǐng)域還處于發(fā)展的早期,在學(xué)術(shù)系統(tǒng)中對(duì)該該方向有一定的探索,但是偏重學(xué)術(shù)研究。目前還沒有看到典型的工業(yè)界系統(tǒng),TuGraph Analytics 處于行業(yè)領(lǐng)先水平,首先在螞蟻應(yīng)用規(guī)模廣、性能強(qiáng),同時(shí)相關(guān)學(xué)術(shù)論文也被數(shù)據(jù)庫行業(yè)頂級(jí)會(huì)議接受。
OSCHINA:TuGraph Analytics 除了可以與 TuGraph-DB 聯(lián)動(dòng)互補(bǔ),還能與其他數(shù)據(jù)庫適配么?
潘臻軒:
當(dāng)下主要考慮和 TuGraph -DB 進(jìn)行深度的融合互補(bǔ),未來也會(huì)考慮進(jìn)一步的開放,支持更多數(shù)據(jù)庫。但是由于兩個(gè)系統(tǒng)設(shè)計(jì)支持有很多協(xié)同,所以在體驗(yàn)、性能上都會(huì)存在一定的優(yōu)勢(shì)。
OSCHINA:TuGraph Analytics 團(tuán)隊(duì)是如何挖掘和構(gòu)建自身產(chǎn)品優(yōu)勢(shì)點(diǎn)的?
潘臻軒:
TuGraph Analytics 團(tuán)隊(duì)一直秉承從實(shí)際真實(shí)場景的問題出發(fā),同時(shí)結(jié)合第一性原理,思考系統(tǒng)應(yīng)該如何設(shè)計(jì)和發(fā)展,以及系統(tǒng)在演進(jìn)過程中,需要深刻洞察場景的痛點(diǎn)并結(jié)合系統(tǒng)體系化的進(jìn)行解決。
OSCHINA:當(dāng)下各類數(shù)據(jù)庫百花齊放,業(yè)內(nèi)默認(rèn)的一個(gè)準(zhǔn)則是:每一類的數(shù)據(jù)庫都有其天然適配的場景與不能適配的,能否結(jié)合具體應(yīng)用案例說說圖計(jì)算的技術(shù)特性是如何適配到場景中去的?
潘臻軒:
圖計(jì)算和圖數(shù)據(jù)天生適合表達(dá)具備高度關(guān)聯(lián)關(guān)系的數(shù)據(jù)模型,比如在社交網(wǎng)絡(luò)中,想看一群有相同興趣愛好的人,那就天生適合圖計(jì)算和圖數(shù)據(jù)來進(jìn)行處理。可以通過圖計(jì)算來進(jìn)行分析和聚類,將一群有相同興趣愛好的人關(guān)聯(lián)到一起,通過圖數(shù)據(jù)提供在線的查詢。
具體的案例比如,在金融風(fēng)控的反套現(xiàn)場景,由于資金網(wǎng)絡(luò)天生就適合用圖模型描述 (資金交易網(wǎng)絡(luò)),那套現(xiàn)行為,可以看成在資金圖中的一個(gè)中環(huán)路模式,那如何識(shí)別這種環(huán)路模式就是圖計(jì)算可以做的工作,而風(fēng)控是天生要求時(shí)效性的場景,因此實(shí)時(shí)圖計(jì)算可以快速、高效的識(shí)別資金網(wǎng)絡(luò)中的套現(xiàn)環(huán)路。
OSCHINA:近期大模型成為技術(shù)熱點(diǎn),許多技術(shù)產(chǎn)品都在尋找與之結(jié)合的方向,對(duì)圖數(shù)據(jù)庫來說,與 AI 技術(shù)最緊密的結(jié)合點(diǎn)在哪里?能怎樣借助 AI 的能力完善自身產(chǎn)品與技術(shù)生態(tài)?
潘臻軒:
對(duì)于圖技術(shù)而言,AI 特別是 AIGC 技術(shù)可以很好地彌補(bǔ)圖技術(shù)在生態(tài)上的短板,相對(duì)于 SQL 語言幾十年的發(fā)展和大眾的接受程度,其他領(lǐng)域的查詢語言相對(duì)還比較小眾,但是由于 AIGC 的出現(xiàn),會(huì)很好地提供自然語言的查詢能力,并且可以復(fù)用之前關(guān)系數(shù)據(jù)計(jì)算的生態(tài)體系。通過這樣的方式可以快速的提升圖計(jì)算體系的生態(tài)水位,讓大家既能夠享受圖計(jì)算帶來的技術(shù)紅利,又能夠方便簡潔的使用圖計(jì)算。
編輯:黃飛
-
AI
+關(guān)注
關(guān)注
87文章
30728瀏覽量
268887 -
數(shù)據(jù)處理
+關(guān)注
關(guān)注
0文章
595瀏覽量
28554 -
流計(jì)算
+關(guān)注
關(guān)注
0文章
3瀏覽量
5876 -
螞蟻集團(tuán)
+關(guān)注
關(guān)注
0文章
95瀏覽量
3589
原文標(biāo)題:走進(jìn)螞蟻集團(tuán)剛剛開源的流式圖計(jì)算技術(shù)
文章出處:【微信號(hào):OSC開源社區(qū),微信公眾號(hào):OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論