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