最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

論文解讀|TuGraph Analytics 流式圖計算論文入選國際頂會 SIGMOD

2023-07-04 17:40 作者:GeaFlow  | 我要投稿


GeaFlow(品牌名TuGraph-Analytics) 已正式開源,歡迎大家關(guān)注?。?!歡迎給我們 Star 哦!

Welcome to give us a Star! GitHub?? https://github.com/TuGraph-family/tugraph-analytics


更多精彩內(nèi)容,關(guān)注我們的博客 https://tugraph-analytics.github.io/


6月18日-23日,數(shù)據(jù)庫國際頂會 2023 ACM SIGMOD 在美國西雅圖舉行,螞蟻流式圖計算團隊一篇論文入選。

ACM SIGMOD 數(shù)據(jù)管理國際會議是由美國計算機協(xié)會(ACM) 數(shù)據(jù)管理專業(yè)委員會(SIGMOD) 發(fā)起,與 VLDB、ICDE 并稱為數(shù)據(jù)庫業(yè)界的三大頂級學(xué)術(shù)會議。
其收錄論文代表了數(shù)據(jù)庫領(lǐng)域的最高水平,也是未來數(shù)據(jù)庫技術(shù)發(fā)展的重要風(fēng)向標。

螞蟻流式圖計算團隊本次的論文 《GeaFlow: A Graph Extended and Accelerated Dataflow System》 被 SIGMOD 2023 收錄,代表螞蟻流式圖計算團隊的成果不僅在工業(yè)界有界廣泛的應(yīng)用,同時也在學(xué)術(shù)界得到進一步認可。

封面圖


圖片注:GeaFlow 為螞蟻流式圖計算引擎 TuGraph Analytics 內(nèi)部代號,本文將沿用論文中所用 “GeaFlow”,便于讀者對應(yīng)。
圖片項目代碼地址:https://github.com/TuGraph-family/tugraph-analytics

背景介紹

伴隨著流處理技術(shù)的不斷發(fā)展,它被各大應(yīng)用領(lǐng)域廣泛的使用,例如監(jiān)控、推薦、廣告等。雖然現(xiàn)有的流處理系統(tǒng)已經(jīng)被證明對處理窗口類型的集合查詢非常有效,但當面臨更復(fù)雜的數(shù)據(jù)結(jié)構(gòu),例如圖結(jié)構(gòu)數(shù)據(jù)時,卻面臨非常多的挑戰(zhàn)。

首先在流計算中 join 是一個開銷非常大的操作,特別是對于動態(tài)變化的數(shù)據(jù),因為每來一條數(shù)據(jù)都需要從另外一條流中找到其所對應(yīng)的數(shù)據(jù),另外還涉及到數(shù)據(jù)物化和 shuffle。而流式圖計算中通常需要成百上千次圖迭代才能得到結(jié)果,對應(yīng)流計算就是成百上千次 join 操作。

其次流計算中數(shù)據(jù)聚集的中間狀態(tài),通常在固定窗口或者滑動窗口中,需要維護的數(shù)據(jù)量是遠小于窗口的原始數(shù)據(jù)大小,且窗口通常不會特別大。而流式圖計算中通常需要維持一個較長窗口且動態(tài)變化的圖,比如在風(fēng)險識別中需要回溯到幾個月甚至幾年的數(shù)據(jù)。

為了解決上述的這些問題,螞蟻流式圖計算團隊開發(fā)和設(shè)計了一款流圖計算引擎 Geaflow,它能很好的解決流式動態(tài)圖分析、遍歷和計算的訴求,同時支持長窗口數(shù)據(jù)圖數(shù)據(jù)狀態(tài)管理、DSL 化流圖任務(wù)研發(fā)等特性。

Geaflow 在螞蟻的風(fēng)控、營銷等場景也得到了非常廣泛的應(yīng)用,同時也在雙十一大促中大放異彩。下面我們來剖析下 Geaflow 的運行場景和內(nèi)部技術(shù)。

運行場景

不同于圖數(shù)據(jù)庫,Geaflow 解決的問題是高吞吐場景下復(fù)雜的圖分析和計算問題,例如深度圖遍歷、子圖匹配、全圖分析等。Geaflow 使用流式事件驅(qū)動的方式進行計算和查詢,同時利用查詢優(yōu)化技術(shù)進行查詢合并和加速。下面我們來描述下 Geaflow 的運行場景。


圖1 所描述的就是一個典型的 Geaflow 數(shù)據(jù)流向圖。從整體的流水線來看,它在進行流式的構(gòu)圖,構(gòu)圖的數(shù)據(jù)可以包括多種不同類型的數(shù)據(jù),可以是消息隊隊列,也可以是日志系統(tǒng)。數(shù)據(jù)可以經(jīng)過ETL處理,最后轉(zhuǎn)換為點和邊寫入圖存儲,圖存儲會定期的進行 checkpoint 來保障 ExactlyOnce。

同時,它還基于增量和變化的數(shù)據(jù)進行驅(qū)動圖計算,例如反套現(xiàn)場景中不斷進行付款的用戶id。和其他通用的流計算系統(tǒng)不同的是,由于圖計算是迭代計算,GeaFlow 支持流式鏈路上的迭代圖處理。最后可以將圖計算的輸出數(shù)據(jù)加工處理,例如上圖中進行 Window TopN 計算后輸出。

架構(gòu)設(shè)計

為了支持以上的場景,Geaflow 做了如下的架構(gòu)設(shè)計:

圖2

如圖2所示,相對于典型的流系統(tǒng),我們做了如下的擴展和補充。整體架構(gòu)從上往下包含以下幾層:

Hybird DSL
GeaFlow創(chuàng)新型的融合了表和圖語義,利用表 DSL SQL以及圖 DSL Gremlin 來描述,用戶可以輕松通過類似SQL編程的方式編寫實時圖計算任務(wù)。同時,在 Query Planning 中,我們針對對邏輯執(zhí)行計劃和物理執(zhí)行計劃進行圖語義優(yōu)化;并且對多查詢語句還 進行合并查詢等優(yōu)化。

Core API

GeaFlow 設(shè)計了一套帶狀態(tài)語義的算子,支持多種流、圖語義,包括標準的流算子、vertex/edge-centric 的圖算子。在圖算子中,我們建立了很好的編程模型,支持用戶各種不同的圖結(jié)構(gòu),同時引入 session 來處理并發(fā)的圖查詢。

Streaming Engine
GeaFlow 運行時的分布式DAG執(zhí)行層,可以靈活的在流圖語義間切換,同時可以高效的支持多查詢優(yōu)化。在執(zhí)行過程中,我們利用 off-heap 內(nèi)存管理、sharing graph state 和批量執(zhí)行等技術(shù)進行優(yōu)化,極大的提升了整體的吞吐。

GeaFlow State
GeaFlow 的狀態(tài)存儲,用于存取流、圖數(shù)據(jù)??梢允褂?KV 語義的狀態(tài),也可以使用圖語義的狀態(tài)。在圖狀態(tài)中,我們設(shè)計了一套高效的 key layout,加速 vertex 和 edge 存取,兼容多種不同多模 backend。同時我們還開發(fā)了一套 graph-native 的 backend,利用類 CSR 的索引結(jié)構(gòu)以及計算和存儲分離架構(gòu)支持更高效的圖存取,與靈活的擴縮容。



實驗結(jié)果


我們在這里列舉了 Geaflow 和其他流計算引擎的對比。

在 K-Hop Neighborhood 場景中,我們選在 LiveJournal 以及 Twitter-2010兩個公開數(shù)據(jù)集,對比 Geaflow、 Flink 以及 Differential Dataflow。實驗是在8個 container 的集群上做測試,其中每個 container 規(guī)格為8c16G。

通過實現(xiàn),我們可以看到:

在多個 hop 的遍歷場景下,GeaFlow 整個的內(nèi)存保持平穩(wěn),并不會隨著迭代深度增加而顯著增加,而其他通用流式計算引擎,則會有顯著的存儲空間放大,從而在 hop 數(shù)過多是內(nèi)存溢出。

GeaFlow 針對典型流式圖場景,對于基于通用路計算引擎基于 Join 來實現(xiàn)的方式,吞吐顯著提升。

圖3


在圖查詢仿真場景中,我們驗證查詢時間和并發(fā)執(zhí)行 query 數(shù)的關(guān)系。

在圖4中我們看到隨著批次中并發(fā)的查詢數(shù)據(jù)量增大,執(zhí)行時間增加的并不會特別明顯。可以發(fā)現(xiàn)融合40個query的時間只增加了22.7%,達到32.6倍的提速效果。

圖4



總結(jié)及規(guī)劃

Geaflow 源于6年前我們在螞蟻業(yè)務(wù)場景的嘗試,當時我們發(fā)現(xiàn)現(xiàn)有的流處理架構(gòu)并不適合流式圖處理,經(jīng)過兩年的孵化,Geaflow 成功的支持螞蟻反欺詐業(yè)務(wù),同時在2018年雙十一期間達到每秒處理超過千萬級事件的高吞吐量。在這些業(yè)務(wù)中的流式圖查詢和分析效果帶來的業(yè)務(wù)效果也非常顯著,證明了流式圖處理在金融場景中可以提供非常多的幫助。之后我們引入 DSL 的支持,進一步減少用戶開發(fā)成本,我們選擇了 SQL + Gremlin 的組合,并不斷改進器查詢優(yōu)化器,于是便有有大量的用戶開始使用我們的DSL來查詢和分析他們的圖計算場景。如今 Geaflow 已成為螞蟻最受歡迎的計算引擎之一。

接下來,我們計劃在以下幾個方面進一步發(fā)展 GeaFlow:

* 融合更多的圖語義,例如具有增量語義的圖計算算子。

* 探索更多聲明式的圖查詢語言,例如 OpenCypher、GQL 和 SQL/PGQ 等。同時融入 CBO 優(yōu)化,自動調(diào)參等能力。

* 探索使用 Rust/C++ 等語言改寫我們執(zhí)行引擎,進一步提高性能。

GeaFlow(品牌名TuGraph-Analytics) 已正式開源,歡迎大家關(guān)注?。?!


歡迎給我們 Star 哦!


Welcome to give us a Star!


GitHub?? https://github.com/TuGraph-family/tugraph-analytics


更多精彩內(nèi)容,關(guān)注我們的博客 https://tugraph-analytics.github.io/?

論文解讀|TuGraph Analytics 流式圖計算論文入選國際頂會 SIGMOD的評論 (共 條)

分享到微博請遵守國家法律
宁晋县| 香格里拉县| 长海县| 香港 | 秦安县| 亚东县| 闽侯县| 济阳县| 昌乐县| 泗阳县| 灵石县| 上饶县| 沛县| 策勒县| 乌拉特后旗| 阿克苏市| 清徐县| 诏安县| 临汾市| 怀宁县| 东城区| 贵溪市| 阿克陶县| 习水县| 曲松县| 合作市| 伊宁县| 改则县| 金川县| 洪雅县| 广州市| 阳城县| 哈巴河县| 甘德县| 九寨沟县| 罗江县| 泗水县| 淳安县| 永兴县| 普兰店市| 石嘴山市|