最近在做一個(gè)圖數(shù)據(jù)庫(kù)系統(tǒng)的項(xiàng)目,接觸到GraphScope,,搜了下發(fā)現(xiàn)是阿里發(fā)布的分布式圖處理框,。之前沒(méi)接觸過(guò),所以了解下,,常見(jiàn)的還有NetworkX,、CuGraph、GraphLab等等,,但基本都是國(guó)外的,。國(guó)內(nèi)大廠就有阿里的GraphScope,騰訊的Plato,,字節(jié)的ByteGraph,。字節(jié)這個(gè)與其他的OLAP不同它是屬于OLTP,但也在朝OLAP發(fā)力,。 上面說(shuō)的OLTP和OLAP,,是指聯(lián)機(jī)事務(wù)處理OLTP(on-line transaction processing)和聯(lián)機(jī)分析處理OLAP(On-Line Analytical Processing)。一個(gè)是做圖查詢,,一個(gè)是圖分析,。GraphScope屬于OLAP,是對(duì)圖數(shù)據(jù)進(jìn)行計(jì)算分析,,下面是查的相關(guān)介紹,。 框架一:NetworkX NetworkX于2002年5月產(chǎn)生,是一個(gè)用Python語(yǔ)言開(kāi)發(fā)的圖論與復(fù)雜網(wǎng)絡(luò)建模工具,,內(nèi)置了常用的圖與復(fù)雜網(wǎng)絡(luò)分析算法,,可以方便的進(jìn)行復(fù)雜網(wǎng)絡(luò)數(shù)據(jù)分析、仿真建模等工作,。NetworkX支持創(chuàng)建簡(jiǎn)單無(wú)向圖,、有向圖和多重圖;內(nèi)置許多標(biāo)準(zhǔn)的圖論算法,,節(jié)點(diǎn)可為任意數(shù)據(jù),;支持任意的邊值維度,功能豐富,,簡(jiǎn)單易用,。利用NetworkX可以以標(biāo)準(zhǔn)化和非標(biāo)準(zhǔn)化的數(shù)據(jù)格式存儲(chǔ)網(wǎng)絡(luò)、生成多種隨機(jī)網(wǎng)絡(luò)和經(jīng)典網(wǎng)絡(luò),、分析網(wǎng)絡(luò)結(jié)構(gòu),、建立網(wǎng)絡(luò)模型、設(shè)計(jì)新的網(wǎng)絡(luò)算法,、進(jìn)行網(wǎng)絡(luò)繪制等,。 框架二:GraphX GraphX 是一個(gè)Spark API,,它用于圖和并行圖的計(jì)算,通過(guò)引入頂點(diǎn)和邊屬性的有向多重圖,,來(lái)實(shí)現(xiàn)分布式圖處理的需求,。GraphX會(huì)將分布式圖(graph-parallel)計(jì)算和分布式數(shù)據(jù)(data-parallel)統(tǒng)一到一個(gè)系統(tǒng)中,這個(gè)系統(tǒng)擁有一個(gè)唯一的組合API,,來(lái)高效地執(zhí)行復(fù)雜的圖形算法,。 雖然分布式圖系統(tǒng)可以很好的計(jì)算 PageRank 等算法,但是它們不適合從不同的數(shù)據(jù)源構(gòu)建圖或者跨過(guò)多個(gè)圖計(jì)算特征,,分布式圖系統(tǒng)的計(jì)算視圖無(wú)法處理那些構(gòu)建和轉(zhuǎn)換圖結(jié)構(gòu)需求和跨圖需求,。所以圖流水線必須通過(guò)組合graph-parallel和data- parallel來(lái)實(shí)現(xiàn),但是這種組合必然會(huì)導(dǎo)致大量的數(shù)據(jù)移動(dòng)以及數(shù)據(jù)復(fù)制,,也會(huì)使得這樣的系統(tǒng)異常復(fù)雜,。 框架三:CuGraph CuGraph是英偉達(dá)(Nvidia)在Nvidia GPU上實(shí)現(xiàn)的圖形算法的集合。傳統(tǒng)的機(jī)器學(xué)習(xí)方法對(duì)GPU的利用很少,,浪費(fèi)了很多的資源和探索的可能,,為了提高GPU的利用效率,RAPIDS專門(mén)設(shè)計(jì)CuGraph模塊用于處理圖數(shù)據(jù),。 CuGraph是在Nvidia GPU上實(shí)現(xiàn)的基于Python的圖形算法的集合,,可以加快圖形處理速度,主要被應(yīng)用于在圖形上執(zhí)行高性能分析,。數(shù)據(jù)科學(xué)家和軟件開(kāi)發(fā)人員可以使用這些庫(kù)將GPU功能集成到他們的工作中,,而無(wú)需了解所有實(shí)現(xiàn)和硬件的細(xì)節(jié)。高易用性,,高互操作性以及可集成,、可添加動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)將成為CuGraph未來(lái)的開(kāi)發(fā)重點(diǎn)。 CuGraph是一個(gè)圖數(shù)據(jù)的分析框架,,并不能用于替代圖數(shù)據(jù)庫(kù),,如何在分析圖數(shù)據(jù)的同時(shí),實(shí)現(xiàn)增刪改查等數(shù)據(jù)庫(kù)常見(jiàn)功能,,將是CuGraph的重點(diǎn)探討方向。 框架四:GraphScope GraphScope 是阿里巴巴達(dá)摩院智能計(jì)算實(shí)驗(yàn)室研發(fā)并開(kāi)源的,,依托于阿里海量數(shù)據(jù)和豐富場(chǎng)景的一站式圖計(jì)算平臺(tái),。 GraphScope 能同時(shí)支持算法的自動(dòng)并行化和自動(dòng)增量化處理動(dòng)態(tài)圖更新,支持?jǐn)?shù)據(jù)的分區(qū),、元數(shù)據(jù)的管理,,可以為上層應(yīng)用提供本機(jī)零拷貝的數(shù)據(jù)讀取,具有一站式,、開(kāi)發(fā)便捷,、性能極致的特點(diǎn),。它在業(yè)界首次支持Gremlin分布式編譯優(yōu)化,提供了各類(lèi)連通性計(jì)算類(lèi),、社區(qū)發(fā)現(xiàn)類(lèi)和數(shù)值計(jì)算類(lèi)的常用分析算法,,做到了企業(yè)級(jí)場(chǎng)景的極致性能。 0人點(diǎn)贊 日記本
|