新聞中心
?前所未有的能力

成都創(chuàng)新互聯(lián)基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺(tái)為眾多戶提供遂寧聯(lián)通機(jī)房 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。
如果你還懷疑關(guān)系型數(shù)據(jù)庫的局限性,那么請(qǐng)想象一下,使用關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是否能夠解決以下問題:
- 如何找到一個(gè)人朋友的朋友的朋友……?
- 如何(實(shí)時(shí))找到一個(gè)賬戶與多個(gè)黑名單賬戶之間的關(guān)聯(lián)路徑?
- 如何判斷某個(gè)時(shí)間段內(nèi)兩個(gè)賬戶之間的交易(或交易記錄)是否正常?
- 在一個(gè)供應(yīng)鏈網(wǎng)絡(luò)中,如果一個(gè)北美的制造廠/工廠停工,將會(huì)給韓國的百貨商場旗艦店帶來什么樣的影響?
- 在貨運(yùn)、電力傳輸、通信網(wǎng)絡(luò)中,如果一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)或服務(wù)停運(yùn)(下線),受到波及和影響的范圍有多大?
- 在大健康領(lǐng)域,如果一個(gè)用戶提交他的電子病歷和健康檔案,是否可以提供實(shí)時(shí)個(gè)性化的重大疾病保險(xiǎn)推薦服務(wù)?
- 在反洗錢的場景中,如何知曉一個(gè)賬戶持有者把他的資金通過多層中間人的賬戶轉(zhuǎn)賬后,最終再重新匯入他自己(或其他關(guān)系人)的賬戶中?
- 現(xiàn)有的搜索引擎只可以進(jìn)行一維的、基于關(guān)鍵字的搜索,例如輸入“牛頓與成吉思汗”,如何返回任何有實(shí)質(zhì)意義的、關(guān)聯(lián)發(fā)散的結(jié)果?
- 在一張知識(shí)圖譜中,如何找到多個(gè)知識(shí)實(shí)體間所形成的兩兩關(guān)聯(lián)的網(wǎng)絡(luò)?類似地,在一個(gè)由通話記錄構(gòu)成的大網(wǎng)中,如何找到1000個(gè)犯罪嫌疑人所構(gòu)成的兩兩之間的6度以內(nèi)的關(guān)聯(lián)網(wǎng)絡(luò)?
以上9個(gè)問題僅列舉了傳統(tǒng)數(shù)據(jù)管理系統(tǒng)(當(dāng)然也包含其他的NoSQL或大數(shù)據(jù)框架)或搜索引擎無法以高效、低代價(jià)的方式完成的眾多挑戰(zhàn)中的一小部分。圖1展示了使用圖進(jìn)行網(wǎng)絡(luò)分析,與其他類型的數(shù)據(jù)源不同,其可敏捷應(yīng)對(duì)變化、未知的數(shù)據(jù)關(guān)系與類型以及能高效處理海量數(shù)據(jù)。
在實(shí)時(shí)圖數(shù)據(jù)庫和圖計(jì)算引擎的幫助下,我們可以實(shí)時(shí)地在不同數(shù)據(jù)間找到深度關(guān)聯(lián)關(guān)系。舉例來說,基于百科全書的知識(shí)體系而構(gòu)建的知識(shí)圖譜數(shù)據(jù)集中(一張大圖,圖中的頂點(diǎn)是一個(gè)個(gè)的知識(shí)點(diǎn),而邊則是知識(shí)點(diǎn)之間的關(guān)聯(lián)關(guān)系),通過圖引擎可以實(shí)時(shí)計(jì)算出如圖1、圖2所示路徑。
▲圖1 實(shí)時(shí)搜索最短路徑:從牛頓到成吉思汗(表單模式)
▲圖2 實(shí)時(shí)搜索最短路徑:從牛頓到成吉思汗(圖形模式)
與傳統(tǒng)的搜索引擎不同,當(dāng)搜索時(shí),你期待的返回結(jié)果不再是單一的網(wǎng)頁、鏈接排序,而是更為復(fù)雜、多邊甚至全面的關(guān)聯(lián)關(guān)系,搜索引擎不會(huì)返回為空、答非所問或無實(shí)際意義的答案,在實(shí)時(shí)圖計(jì)算引擎的支撐下,它可以返回最優(yōu)的、人腦都無法企及的智能路徑。如果仔細(xì)觀察圖2中的路徑,你會(huì)發(fā)現(xiàn)這些實(shí)體與關(guān)聯(lián)關(guān)系所形成的每一條路徑存在著強(qiáng)因果關(guān)系。通過這種“高維”搜索引擎返回的有強(qiáng)因果關(guān)系的路徑,一環(huán)扣一環(huán),其中蘊(yùn)含的知識(shí)體量與密度(熵值)遠(yuǎn)高于傳統(tǒng)的基于倒排索引和PageRank算法的互聯(lián)網(wǎng)搜索引擎。并且,以上所有過程在圖數(shù)據(jù)庫支撐下都是實(shí)時(shí)完成,返回最優(yōu)(不一定是最短)路徑。如果用戶對(duì)展望未來更感興趣,可以改變篩選過濾和調(diào)整條件,例如設(shè)置相關(guān)頂點(diǎn)(或節(jié)點(diǎn))與邊的參數(shù)(或?qū)傩裕?,并按照一定的模板邏輯來?shí)現(xiàn)搜索等,如圖3所示。
▲圖3 實(shí)時(shí)動(dòng)態(tài)圖過濾與剪枝(通過圖搜索過濾)
很顯然,隨著過濾條件變得更苛刻,搜索返回結(jié)果的路徑變得更長了(從5層增加為7層),但是搜索時(shí)間并沒有指數(shù)級(jí)增長。這是實(shí)時(shí)圖計(jì)算引擎的一個(gè)很重要的能力—對(duì)子圖的動(dòng)態(tài)剪枝能力,一邊搜索,一邊過濾(剪枝)。缺乏這種能力的圖數(shù)據(jù)庫絕無可能成為有商業(yè)應(yīng)用前景的實(shí)時(shí)圖數(shù)據(jù)庫。
圖4展示了由以上路徑動(dòng)態(tài)生成的子圖的2D空間可視化效果。
▲圖4 通過圖過濾后形成的多層關(guān)聯(lián)
另一個(gè)實(shí)例是通過對(duì)轉(zhuǎn)賬、匯款、取現(xiàn)等交易的數(shù)據(jù)流進(jìn)行追蹤來實(shí)現(xiàn)實(shí)時(shí)反洗錢監(jiān)測。圖5中左邊最大的點(diǎn)是資金流出方,經(jīng)過10層中間賬號(hào)不斷轉(zhuǎn)賬轉(zhuǎn)發(fā),最終匯聚在右邊的小點(diǎn)(賬戶)位置。除非經(jīng)過10層以上的深層挖掘,否則你很難發(fā)現(xiàn)數(shù)據(jù)(資金)的真正流向,以及它們背后的真正意圖。對(duì)于各國的金融監(jiān)管機(jī)構(gòu)而言,實(shí)時(shí)圖數(shù)據(jù)庫與圖計(jì)算的意義不言而喻—當(dāng)犯罪分子在以圖的方式規(guī)避監(jiān)管的時(shí)候,他們會(huì)通過構(gòu)造深層的圖模型來逃避反洗錢追蹤,而監(jiān)管機(jī)構(gòu)只有使用具備深度穿透分析能力的圖數(shù)據(jù)庫才能讓犯罪分子無處遁形。
?
▲圖5 資金流向圖
絕大多數(shù)人都知道“蝴蝶效應(yīng)”,就是在數(shù)據(jù)和信息的海洋中捕捉從一個(gè)(或多個(gè))實(shí)體到遙遠(yuǎn)的另外一個(gè)(或多個(gè))實(shí)體間微妙的關(guān)聯(lián)關(guān)系。從數(shù)據(jù)處理框架的角度來看,如果沒有圖計(jì)算的幫助,蝴蝶效應(yīng)是極難被發(fā)現(xiàn)的。有人會(huì)說隨著算力的指數(shù)級(jí)增強(qiáng),未來總有一天我們會(huì)實(shí)現(xiàn),筆者以為,這一天已經(jīng)到來!實(shí)時(shí)圖數(shù)據(jù)庫就是進(jìn)行蝴蝶效應(yīng)計(jì)算、查詢的最佳工具。
在2017年,老牌數(shù)據(jù)分析公司Gartner提出了一個(gè)5層的數(shù)據(jù)分析模型,如圖6所示。
▲圖6 Gartner 5層數(shù)據(jù)分析模型
在圖6中,數(shù)據(jù)分析的未來在于“網(wǎng)絡(luò)分析”,或稱為實(shí)體鏈接分析,建立這個(gè)系統(tǒng)只能依賴圖數(shù)據(jù)庫。圖計(jì)算系統(tǒng)把數(shù)據(jù)以網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的方式構(gòu)建,并搜尋網(wǎng)絡(luò)內(nèi)的關(guān)聯(lián)關(guān)系,它的效率遠(yuǎn)超關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。關(guān)系型數(shù)據(jù)庫通過表連接來進(jìn)行計(jì)算,它可能永遠(yuǎn)無法完成類似的任務(wù)。
數(shù)據(jù)分析(技術(shù))的發(fā)展是商業(yè)發(fā)展的必然結(jié)果,它提高了數(shù)據(jù)處理的科技水平。在圖6中,從第1層到第2層可以視為數(shù)據(jù)分析領(lǐng)域內(nèi)從單機(jī)應(yīng)用到互聯(lián)應(yīng)用的提升;第3層是渠道中心化數(shù)據(jù)分析,它經(jīng)常發(fā)生在一個(gè)公司的渠道或部門的內(nèi)部;第4層的特點(diǎn)是跨渠道,它要求大型公司內(nèi)的不同渠道進(jìn)行數(shù)據(jù)分享,從而最大程度挖掘數(shù)據(jù)的價(jià)值,你必須合并各個(gè)渠道搜集到的不同類數(shù)據(jù),并把它們視為一個(gè)整體,由此來進(jìn)行網(wǎng)絡(luò)化分析(例如社交網(wǎng)絡(luò)分析)。這種通用的、跨部門、跨數(shù)據(jù)集的多維數(shù)據(jù)間關(guān)聯(lián)分析需求的挑戰(zhàn),只有圖數(shù)據(jù)庫才能完美實(shí)現(xiàn)。
圖計(jì)算與圖數(shù)據(jù)庫的差異
圖計(jì)算(graph computing)與圖數(shù)據(jù)庫(graph database)之間的差異是很多剛接觸圖的人不容易厘清的。盡管在很多情況下,圖計(jì)算可以和圖數(shù)據(jù)庫混用、通用。但是,它們之間存在很多不同,筆者認(rèn)為有必要單獨(dú)做個(gè)介紹。
圖計(jì)算可以簡單地等同于圖處理框架(graph processing frameworks)、圖計(jì)算引擎(graph computing engines),它的主要工作是對(duì)已有的數(shù)據(jù)進(jìn)行計(jì)算和分析。圖計(jì)算框架多數(shù)都出自學(xué)術(shù)界,這個(gè)和圖論自20世紀(jì)60年代與計(jì)算機(jī)學(xué)科發(fā)生學(xué)科交叉并一直不斷演化有關(guān)。
圖計(jì)算框架在過去20年中的主要發(fā)展是在OLAP(Online Analytical Processing,聯(lián)機(jī)分析處理)場景中進(jìn)行數(shù)據(jù)批處理。
圖數(shù)據(jù)庫的出現(xiàn)要晚得多,最早可以稱之為圖數(shù)據(jù)庫的也要到20世紀(jì)90年代,而真正的屬性圖或原生圖技術(shù)在2011年后才出現(xiàn)。
圖數(shù)據(jù)庫的框架主要功能可以分為三大部分:存儲(chǔ)、計(jì)算與面向應(yīng)用的服務(wù)(例如數(shù)據(jù)分析、決策方案提供、預(yù)測等)。其中計(jì)算部分,包含圖計(jì)算,但是圖數(shù)據(jù)庫通??梢蕴幚鞟P與TP類操作,也就是說可以兼顧OLAP與OLTP(Online Transactional Processing,在線事務(wù)處理),兩者的結(jié)合也衍生出了新的HTAP類型的圖數(shù)據(jù)庫,第3章會(huì)詳細(xì)介紹它的原理。簡言之,從功能角度上看,圖數(shù)據(jù)庫是圖計(jì)算的超集。
但是,圖計(jì)算與圖數(shù)據(jù)庫有個(gè)重要的差異點(diǎn):圖計(jì)算通常只關(guān)注和處理靜態(tài)的數(shù)據(jù),而圖數(shù)據(jù)庫則能處理動(dòng)態(tài)的數(shù)據(jù)。換言之,圖數(shù)據(jù)庫在數(shù)據(jù)動(dòng)態(tài)變化的同時(shí)能保證數(shù)據(jù)的一致性,并能完成業(yè)務(wù)需求。這兩者的區(qū)別基本上也是AP和TP類操作的區(qū)別之所在。
多數(shù)圖計(jì)算框架都源自學(xué)術(shù)界,其關(guān)注的要點(diǎn)和場景與工業(yè)界的圖數(shù)據(jù)庫有很大的不同。前者在創(chuàng)建之初大都面向靜態(tài)的磁盤文件,通過預(yù)處理、加載入磁盤或內(nèi)存后進(jìn)行處理;而后者,特別是在金融、通信、物聯(lián)網(wǎng)等場景中,其數(shù)據(jù)是不斷流動(dòng)、頻繁更新的。靜態(tài)的計(jì)算框架不可能滿足各類業(yè)務(wù)場景的需求,這也催化了圖數(shù)據(jù)庫的不斷迭代,從以O(shè)LAP為主的場景開始,直至發(fā)展到可以實(shí)現(xiàn)OLTP類型的實(shí)時(shí)、動(dòng)態(tài)數(shù)據(jù)處理。
另一方面,由于歷史原因,圖計(jì)算框架所面對(duì)的數(shù)據(jù)集通常都是一些路網(wǎng)數(shù)據(jù)、社交網(wǎng)絡(luò)數(shù)據(jù)。在社交網(wǎng)絡(luò)中的關(guān)系類型非常簡單(例如:關(guān)注),任何兩個(gè)用戶間只存在一條邊,這種圖也稱為單邊圖(simple graph),而在金融交易網(wǎng)絡(luò)中,兩個(gè)賬戶之間的轉(zhuǎn)賬關(guān)系可以形成非常多的邊(每一條邊代表一筆交易),這種圖稱為多邊圖(multi-graph)。顯然,用單邊圖來表達(dá)多邊圖會(huì)造成信息缺失,或者通過增加大量點(diǎn)、邊來實(shí)現(xiàn)從而達(dá)到同樣的效果(得不償失,且會(huì)造成圖上處理效率低下)。
再者,圖計(jì)算框架一般只關(guān)注圖本身的拓?fù)浣Y(jié)構(gòu),并不需要理會(huì)圖上的點(diǎn)和邊的復(fù)雜屬性問題,而這對(duì)于圖數(shù)據(jù)庫而言則是必須關(guān)注的。
圖計(jì)算與圖數(shù)據(jù)庫的另外兩個(gè)差異點(diǎn)如下:
1)圖計(jì)算框架中能提供的算法一般都比較簡單,換言之,在圖中的處理深度都比較淺,例如PageRank、LPA標(biāo)簽傳播、聯(lián)通分量、三角形計(jì)數(shù)等算法,圖計(jì)算框架可能會(huì)面向海量的數(shù)據(jù),并且在高度分布式的集群框架上運(yùn)行,但是每個(gè)算法的復(fù)雜度并不高。圖數(shù)據(jù)庫所面對(duì)的查詢復(fù)雜度、算法豐富度遠(yuǎn)超圖計(jì)算框架,例如5層以上的深度路徑查詢、K鄰查詢、復(fù)雜的隨機(jī)游走算法、大圖上的魯汶社區(qū)識(shí)別算法、圖嵌入算法、復(fù)雜業(yè)務(wù)邏輯的實(shí)現(xiàn)與支持等。
2)圖計(jì)算框架的運(yùn)行接口通常是API調(diào)用,而圖數(shù)據(jù)庫則需要提供更豐富的編程接口,例如API、各種語言的SDK,可視化的圖數(shù)據(jù)庫管理及操作界面,以及最重要的圖查詢語言。熟悉關(guān)系型數(shù)據(jù)庫的讀者一定不會(huì)對(duì)SQL陌生,而圖數(shù)據(jù)庫對(duì)應(yīng)的查詢語言是GQL,通過GQL可以實(shí)現(xiàn)復(fù)雜的查詢、計(jì)算、算法調(diào)用和業(yè)務(wù)邏輯。
圖計(jì)算與圖數(shù)據(jù)庫的差異梳理見表1。
表1 圖計(jì)算與圖數(shù)據(jù)庫的差異
通過本文的背景介紹,希望讀者能夠做好準(zhǔn)備,更好地進(jìn)入圖數(shù)據(jù)庫的世界。
本文摘編于《圖數(shù)據(jù)庫原理、架構(gòu)與應(yīng)用》,經(jīng)出版方授權(quán)發(fā)布。(書號(hào):9787111708100)轉(zhuǎn)載請(qǐng)保留文章來源。?
本文名稱:圖數(shù)據(jù)庫和圖計(jì)算的區(qū)別,終于有人講明白了
本文地址:http://www.5511xx.com/article/cohegge.html


咨詢
建站咨詢
