前言
本文將分為以下3個(gè)部分進(jìn)行介紹:
第1章 什么是圖計(jì)算
第2章 圖引擎服務(wù)介紹
第3章 查詢和分析功能介紹
本文主要介紹了圖計(jì)算定義及特點(diǎn),希望通過本文能夠讓你了解圖計(jì)算及華為云圖引擎服務(wù),掌握使用圖引擎進(jìn)行查詢和分析
一过吻、什么是圖計(jì)算
1.圖.無處不在
在現(xiàn)實(shí)生活中嗦董,人與人养晋,物品與物品囊拜,人與物品之間存在著多樣性的關(guān)系俱恶,我們會(huì)獲得多種多樣的圖兔港,如下所示庸毫,可以看出圖在我們現(xiàn)實(shí)生活中是無處不在的。
通信網(wǎng)絡(luò)
頂點(diǎn): devices, routers; 邊: network flow
[圖片上傳失敗...(image-27a052-1656915095285)]
社交網(wǎng)絡(luò)
頂點(diǎn): users, posts; 邊: relations, Likes
[圖片上傳失敗...(image-86c8c2-1656915095285)]
用戶商品圖
頂點(diǎn): users, items; 邊: Ratings
[圖片上傳失敗...(image-de5b33-1656915095285)]
天氣變化的Wiki文章
頂點(diǎn): Wiki articles; 邊: Links
[圖片上傳失敗...(image-fe3137-1656915095285)]
2. 什么是圖計(jì)算
? 定義:“圖計(jì)算”是以“關(guān)系”為基礎(chǔ)對現(xiàn)實(shí)世界的一種“圖”結(jié)構(gòu)的抽象表達(dá)衫樊,以及在這種數(shù)據(jù)結(jié)構(gòu)上的計(jì)算模式
? 描述: G = (V飒赃,E,D) V = vertex (頂點(diǎn)或者節(jié)點(diǎn)) E = edge (邊) D = data (屬性&權(quán)重)
? 擅長: 擅長處理具備連接關(guān)系的科侈、海量的载佳、多變的數(shù)據(jù)的查詢、分析臀栈;
特點(diǎn):
? 不依賴數(shù)據(jù)的結(jié)構(gòu)化蔫慧,數(shù)據(jù)多樣
? 多數(shù)據(jù)關(guān)聯(lián),具備傳播能力
? 數(shù)據(jù)動(dòng)態(tài)變化权薯,實(shí)時(shí)交互式分析
? 可解釋
天然就是圖數(shù)據(jù)關(guān)系:
? 社交關(guān)系
? 資訊傳播網(wǎng)絡(luò)
? 通信網(wǎng)絡(luò)
? 組織結(jié)構(gòu)
? ……
適合場景:
? 意見領(lǐng)袖挖掘
? 好友推薦
? 用戶分群
? 組織結(jié)構(gòu)分析
? ……
3. 圖計(jì)算優(yōu)勢
? 表達(dá)能力強(qiáng)姑躲,適合表達(dá)多種復(fù)雜關(guān)系、支持豐富語義
從表達(dá)能力上看盟蚣,傳統(tǒng)數(shù)據(jù)庫表達(dá)數(shù)據(jù)相對單一黍析,圖計(jì)算可以支持N對N的表達(dá),形式更加多樣屎开,表達(dá)能力更強(qiáng)
豐富的數(shù)據(jù)表達(dá)阐枣,可擴(kuò)展性支持
關(guān)系數(shù)據(jù)庫 圖計(jì)算
(1:1或1:N) (N:N)
[圖片上傳失敗...(image-97d02-1656915095285)]
? 大數(shù)據(jù)量下,潛在關(guān)系挖掘 快速高效
從性能上看,圖計(jì)算對于多重關(guān)系的查詢速度遠(yuǎn)遠(yuǎn)高于傳統(tǒng)的數(shù)據(jù)庫侮繁,同時(shí)圖具備高性能的并行計(jì)算能力
無論從表達(dá)能力上還是性能上均可以看出虑粥,圖計(jì)算具有更大的應(yīng)用優(yōu)勢峦树,
快速的多跳關(guān)系查詢
跳數(shù) | 關(guān)系數(shù)據(jù)庫 | 圖引擎服務(wù) | 返回的記錄數(shù) |
2 | 0.162 | 0.025289 | 213597 |
3 | 63.589 | 0.779019 | 1031115 |
4 | 1368.662 | 1.452095 | 1227152 |
5 | 未完成 | 1.474496 | 1230000 |
[圖片上傳失敗...(image-f51d7c-1656915095285)]
? 圖計(jì)算可能成為AI下一跳的關(guān)鍵基礎(chǔ)技術(shù)
圖計(jì)算在高維稀疏場景性能有望提升百倍
[圖片上傳失敗...(image-6634dd-1656915095285)]
NIPS/SIGMOD/NDSI等數(shù)據(jù)庫鳞仙、圖計(jì)算和AI領(lǐng)域頂會(huì)觀點(diǎn)總結(jié):
? 數(shù)學(xué)上,在AI計(jì)算中碱茁,圖計(jì)算和深度學(xué)習(xí)是硬幣兩面锁孟,具有等價(jià)性彬祖、可互換
4. 圖計(jì)算 ? 穩(wěn)步上升到頂峰階段
[圖片上傳失敗...(image-58e573-1656915095285)]
5. 圖計(jì)算發(fā)展-技術(shù)日趨完善,生態(tài)日趨穩(wěn)定
圖計(jì)算功能如今技術(shù)已日趨完善品抽,很多公司都發(fā)布了自己的圖計(jì)算產(chǎn)品储笑,生態(tài)也已趨穩(wěn)定
[圖片上傳失敗...(image-71a3ee-1656915095285)]
2、 圖引擎服務(wù)介紹
1. 圖引擎服務(wù):超大規(guī)模一體化圖分析與查詢
華為云圖引擎服務(wù)是一種超大規(guī)模一體化圖分析與查詢平臺(tái)圆恤,內(nèi)部具有豐富的圖分析算法庫突倍,高性能的圖計(jì)算內(nèi)核,分布式高性能存儲(chǔ)引擎盆昙,支持屬性圖的擴(kuò)展羽历,同時(shí)開源接口兼容,并且結(jié)果呈現(xiàn)格式上多樣化淡喜,具有大規(guī)模秕磷,高性能,查詢分析一體化炼团,簡單易用等優(yōu)點(diǎn)
[圖片上傳失敗...(image-e55a1d-1656915095285)]
[圖片上傳失敗...(image-308961-1656915095285)]
2. 圖引擎服務(wù)整體解決方案
用戶可以將自己的歷史數(shù)據(jù)批量式的導(dǎo)入圖引擎服務(wù)澎嚣,同時(shí)還提供了增量式的數(shù)據(jù)導(dǎo)入方式,方便用戶進(jìn)行實(shí)時(shí)的數(shù)據(jù)更新瘟芝,也可以通過圖引擎提供的SDK輕松訪問圖引擎服務(wù)易桃,使用方便,操作簡單模狭。
[圖片上傳失敗...(image-6731fb-1656915095285)]
3. 圖引擎服務(wù)使用頁面
[圖片上傳失敗...(image-ae2181-1656915095285)]
? 圖查詢區(qū):支持標(biāo)準(zhǔn)圖查詢語言Gremlin颈抚,兼容您的使用習(xí)慣
? 圖分析區(qū):提供豐富的圖分析算法踩衩,簡單易用
? 可視化區(qū):支持嚼鹉,所見即所得可視化展示
? 結(jié)果記錄區(qū):操作記錄可見,支持JSON格式結(jié)果導(dǎo)出驱富, 輕松獲取
4. 使用場景
華為云圖引擎服務(wù)使用場景也非常豐富
互聯(lián)網(wǎng)
好友/商品/資
訊推薦
異常行為分析輿情分析
[圖片上傳失敗...(image-c7183e-1656915095285)]
知識(shí)圖譜
智能問答知識(shí)消歧
學(xué)習(xí)路徑推薦
[圖片上傳失敗...(image-74a88c-1656915095285)]
金融風(fēng)控
實(shí)時(shí)欺詐檢測失聯(lián)人員追蹤信度分析
[圖片上傳失敗...(image-64b625-1656915095285)]
智慧城市
路徑規(guī)劃
管道壓力調(diào)節(jié)城市路網(wǎng)調(diào)控
[圖片上傳失敗...(image-7bbd8c-1656915095285)]
3锚赤、 查詢功能
什么是Gremlin?
[圖片上傳失敗...(image-6184cc-1656915095285)][圖片上傳失敗...(image-34fc98-1656915095285)]
Gremlin是Apache TinkerPop 框架下的圖遍歷語言Gremlin是一種函數(shù)式數(shù)據(jù)流語言褐鸥,可以使得用戶使用簡潔的方式表述復(fù)雜的屬性圖
(property graph)的遍歷或查詢每個(gè)Gremlin遍歷由一系列步驟
(step线脚,可能存在嵌套)組成,每一步都在數(shù)據(jù)流(data stream) 上執(zhí)行一個(gè)原子操作
除了華為圖引擎服務(wù),TA們也用的是Gremlin浑侥,已經(jīng)成為業(yè)界的事實(shí)標(biāo)準(zhǔn)
[圖片上傳失敗...(image-5cfe96-1656915095285)][圖片上傳失敗...(image-8938c3-1656915095285)][圖片上傳失敗...(image-a8e232-1656915095286)][圖片上傳失敗...(image-272fac-1656915095286)]
[圖片上傳失敗...(image-df922a-1656915095286)][圖片上傳失敗...(image-9c5070-1656915095286)][圖片上傳失敗...(image-ab88a7-1656915095286)][圖片上傳失敗...(image-e54e39-1656915095286)]
1. Gremlin基本操作(一)
常用的語句如下所示姊舵,通過各個(gè)語句的輕松組合可以實(shí)現(xiàn)復(fù)雜查詢功能
? map(x)
select(“a”,”b”) id() mean() count()value(“age”) order()sum() groupCount()
? flatMap(x)
out(“knows”) values(“name”) properties() v()in(“created”) match(x,y,z) outE(“knows”)
? filter(x)
has(“name”,“gremlin”) and(x,y)coin(0.5)dedup(10)where(“a”,eq(“b”)or(x,y)sample(10)
? sideEffect(x)
groupCount(“m”)tree(“m”)subgraph(“m”)store(“m”)group(“m”)
2. Gremlin基本操作(二)
例如: “gremlin” 認(rèn)識(shí)的人的年齡分布
我們可以將其分解為以下五個(gè)步驟
(1) 所有人
[圖片上傳失敗...(image-37395c-1656915095286)]
(2) 然后找到名字為“gremlin”的人
[圖片上傳失敗...(image-6d1aef-1656915095286)]
(3) gremlin” 認(rèn)識(shí)的人
[圖片上傳失敗...(image-7aa2e4-1656915095286)]
(4) 基于上一步,查詢這些人的年齡
[圖片上傳失敗...(image-6f593a-1656915095286)]
(5) 獲得年齡分布
[圖片上傳失敗...(image-2b0b66-1656915095286)]
通過以上五個(gè)步驟寓落,我們可以實(shí)現(xiàn)gremlin” 認(rèn)識(shí)的人的年齡分布
3. 查詢功能總結(jié)
支持業(yè)界標(biāo)準(zhǔn)圖查詢語言:Gremlin
Gremlin 遍歷由一系列步驟(可能存在嵌套)組成括丁,每一步都在數(shù)據(jù)流上執(zhí)行一個(gè)原子操作
基本操作:map(x), filterMap(x)、filter(x)伶选、sideEffect(x)等:
舉例:”gremlin“認(rèn)識(shí)的人的年齡分布
g.V().has("name","gremlin").cout("knows").values("age").groupCount()
以上是對華為云圖引擎做的簡要介紹
4史飞、 分析功能
1. 應(yīng)用場景和算法聯(lián)系
[圖片上傳失敗...(image-9c67f1-1656915095286)][圖片上傳失敗...(image-86f198-1656915095286)][圖片上傳失敗...(image-6b86e2-1656915095286)]2.算法實(shí)踐: 社交網(wǎng)絡(luò) — 個(gè)體價(jià)值發(fā)掘
背景:
以新浪微博為例,如何給每個(gè)用戶評分仰税?
(傳統(tǒng)評分=關(guān)注數(shù)+粉絲數(shù)+微博數(shù))
[圖片上傳失敗...(image-eef24a-1656915095286)]
基于PageRank的用戶評價(jià)
利用各種中心度(centrality)构资,TrustRank之類的算法尋找社交網(wǎng)絡(luò)中的領(lǐng)袖人物(高價(jià)值用戶)
3. 算法實(shí)踐: 社交網(wǎng)絡(luò) — 好友推薦
背景:
你在 Facebook 上更新一下聯(lián)系人,會(huì)得到后臺(tái)很多聯(lián)系人推送陨簇,你會(huì)發(fā)現(xiàn)Facebook 的推送節(jié)制而高效吐绵, 既沒過分打擾,又能打開你的人脈
[圖片上傳失敗...(image-b5757a-1656915095286)]
?基于三元閉包理論的好友推薦
[圖片上傳失敗...(image-13e706-1656915095286)]
基于三元閉包理論河绽,結(jié)合圖上的三角計(jì)數(shù)拦赠,聚類系數(shù),最短路徑葵姥,k度好友荷鼠,關(guān)聯(lián)預(yù)測等算法,進(jìn)行社交網(wǎng)絡(luò)緊密度分析榔幸,實(shí)現(xiàn)好友推薦
4. 算法實(shí)踐: 社交網(wǎng)絡(luò) — 社團(tuán)推薦
背景:
已知老王的朋友圈里的人相關(guān)信息允乐,能否估計(jì)老王經(jīng)濟(jì)狀況、信用風(fēng)險(xiǎn)削咆?
[圖片上傳失敗...(image-3a542b-1656915095286)]
“物以類聚牍疏,人以群分”
[圖片上傳失敗...(image-2365fc-1656915095286)]利用社團(tuán)算法(K-core, Louvain,Label Propagation等)進(jìn)行社團(tuán)/群組分析
5. 算法實(shí)踐: 社交/多媒體/電商 — 實(shí)時(shí)推薦
背景:
某電影平臺(tái)上拨齐,擁有龐大的用戶群鳞陨、電影庫,如何在用戶進(jìn)行一系列行為時(shí)進(jìn)行實(shí)時(shí)精準(zhǔn)的推薦瞻惋?
如何解決數(shù)據(jù)稀疏性問題厦滤,如何考慮復(fù)雜的關(guān)系的影響……?
采用Pixie、GRank等多種算法進(jìn)行大數(shù)據(jù)量歼狼、復(fù)雜場景下的實(shí)時(shí)推薦
6. 算法實(shí)踐: 分析功能總結(jié)
應(yīng)用場景:社交網(wǎng)絡(luò)掏导、精準(zhǔn)營銷、信貸保險(xiǎn)等
功能劃分:找關(guān)聯(lián)(鏈路分析羽峰、度/鄰居)趟咆、找路徑添瓷、找群體( 社團(tuán)類、傳播類)值纱、找特征
圖計(jì)算算法:PageRank鳞贷、最短路、K-hop虐唠、聚類系數(shù)悄晃、三角計(jì)數(shù)、Centrality凿滤、最大關(guān)聯(lián)子圖妈橄、
Degree Correlation、K-core翁脆、標(biāo)簽傳播眷蚓、Louvain、PPR反番、關(guān)系預(yù)測沙热、傳播模型、node2vec等
算法實(shí)踐舉例:
個(gè)體價(jià)值發(fā)掘:
PageRank罢缸、Centrality篙贸、TrustRank 等
好友推薦:
基于三元閉包理論
三角計(jì)數(shù),聚類系數(shù)枫疆,最短路徑爵川,k度好友等
社團(tuán)發(fā)現(xiàn):
K-core, Louvain,Label Propagation等社團(tuán)算法
實(shí)時(shí)推薦:
Pixie息楔、GRank等