為什么說圖形數(shù)據(jù)庫是大數(shù)據(jù)時代的利器_第1頁
為什么說圖形數(shù)據(jù)庫是大數(shù)據(jù)時代的利器_第2頁
為什么說圖形數(shù)據(jù)庫是大數(shù)據(jù)時代的利器_第3頁
為什么說圖形數(shù)據(jù)庫是大數(shù)據(jù)時代的利器_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

-4-為什么說圖形數(shù)據(jù)庫是大數(shù)據(jù)時代的利器?利用圖形數(shù)據(jù)庫,我們可以更輕易地描述和更便利地查詢上圖所示的關(guān)系。下一節(jié)我們將看到,在關(guān)聯(lián)關(guān)系更簡單的情形下,圖形數(shù)據(jù)庫的查詢效率遠(yuǎn)遠(yuǎn)高于關(guān)系型數(shù)據(jù)庫。你或許聽說過圖形數(shù)據(jù)庫,也知道它不是存儲圖片文件的數(shù)據(jù)庫。但是:為什么總有人吹捧它是大數(shù)據(jù)時代的利器?是數(shù)據(jù)庫領(lǐng)域重大的技術(shù)革新?它和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫相比有哪些優(yōu)劣?本文將帶你揭開圖形數(shù)據(jù)庫的神奇面紗。

什么是圖形數(shù)據(jù)庫

要理解圖形數(shù)據(jù)庫,你臨時還不需要具備太多圖論的學(xué)問。實(shí)際上,圖形數(shù)據(jù)庫(GDBMS)在筆者眼中比關(guān)系數(shù)據(jù)庫(RDBMS)更簡單理解。

圖(Graph)由頂點(diǎn)(Vertex)和邊(Edge)組成。

在圖形數(shù)據(jù)庫領(lǐng)域,我們有時候喜愛把頂點(diǎn)和邊稱為節(jié)點(diǎn)(Node)和關(guān)系(Relationship),但明顯它們是同一回事。

每個節(jié)點(diǎn)表示一個實(shí)體(個人、地點(diǎn)、事物、類別或其他數(shù)據(jù)塊),每個關(guān)系表示兩個節(jié)點(diǎn)的關(guān)聯(lián)關(guān)系。

例如,兩個節(jié)點(diǎn)中國和臺灣的關(guān)系是臺灣屬于中國;而兩個節(jié)點(diǎn)臺灣和鳳梨酥的關(guān)系是鳳梨酥是臺灣的特產(chǎn)。

為什么圖數(shù)據(jù)庫是將來的必定趨勢?

我們生活的世界布滿了對象之間的相互聯(lián)系,你能舉出一個例子,某一對象是完全孤立、不和外界發(fā)生任何關(guān)聯(lián)嗎?圖數(shù)據(jù)庫在描述、存儲、查詢這些關(guān)聯(lián)時具有天生優(yōu)勢。

我們連續(xù)擴(kuò)展上面的例子,上海也屬于中國,陸家嘴位于上海,喬治在陸家嘴上班,佩奇是喬治的姐姐,佩奇來自臺灣,喬治雖然誕生在內(nèi)地但是去過臺灣,喬治還很喜愛吃鳳梨酥。

假如你是業(yè)務(wù)/產(chǎn)品工作人員,你肯定盼望你的產(chǎn)品或者業(yè)務(wù)涉及到用戶的方方面面。假如你是開發(fā)人員,你肯定盼望能夠簡潔高效地描述這個紛繁簡單的世界。

在傳統(tǒng)的技術(shù)方中,一般會用關(guān)系型數(shù)據(jù)庫對數(shù)據(jù)進(jìn)行長久化(長時存儲)。那么為了描述上圖中的模型,我們需要建立多少張表呢?國家、省/市、人、食品、地標(biāo)、國家與省/市關(guān)系、省/市與食品關(guān)系、人與省/市關(guān)系、人與至少十幾張表。

這倒沒什么大不了的。

現(xiàn)在請查詢:在哪個城市上班的人最喜愛吃鳳梨酥?

嗯你只需要關(guān)聯(lián)食品表、人員表、人喜愛的食品關(guān)聯(lián)關(guān)系表三張表就可以查到喬治等人喜愛吃鳳梨酥,但是你還得再關(guān)聯(lián)兩張表找到他們在哪個地標(biāo)工作,進(jìn)而再關(guān)聯(lián)兩張表找到這些地標(biāo)在哪個城市。還沒完,你還得groupby一下,再排個序。

你會覺得這個查詢簡直有病。但這恰恰是數(shù)據(jù)分析師最基本的工作,也是大數(shù)據(jù)時代海量信息處理的一個縮影。

利用圖形數(shù)據(jù)庫,我們可以更輕易地描述和更便利地查詢上圖所示的關(guān)系。下一節(jié)我們將看到,在關(guān)聯(lián)關(guān)系更簡單的情形下,圖形數(shù)據(jù)庫的查詢效率遠(yuǎn)遠(yuǎn)高于關(guān)系型數(shù)據(jù)庫。

圖數(shù)據(jù)庫VS關(guān)系型數(shù)據(jù)庫

1.性能

大數(shù)據(jù)時代,人類社會的數(shù)據(jù)量呈爆發(fā)式增長。任何業(yè)務(wù)或產(chǎn)品所積累的數(shù)據(jù)肯定是快速增長的,這沒有疑義,但更重要的是,數(shù)據(jù)與數(shù)據(jù)之間的連接(或者說關(guān)系)將呈現(xiàn)平方級增長:

3個點(diǎn)最多有6條有向邊,4個點(diǎn)最多有12個有向邊,N個節(jié)點(diǎn)最多有N*(N-1)個有向邊。

在傳統(tǒng)的數(shù)據(jù)庫中,隨著關(guān)系的數(shù)量和深度的增加,關(guān)系查詢的效率將急劇衰減,甚至崩潰。

然而圖形數(shù)據(jù)庫的性能將幾乎不變,即使數(shù)據(jù)每天都在增長。

這共性能差異有多大呢,引用Neo4j(一款圖形數(shù)據(jù)庫)發(fā)布的測試數(shù)據(jù),我們盼望在一個社交網(wǎng)絡(luò)里找到最大深度為指定值的伴侶組合。

在100萬人的人群中,設(shè)置每個人大約有50個伴侶,隨機(jī)選擇兩個人,是否存在一條路徑,使得他們之間的關(guān)聯(lián)關(guān)系長度為2或3或4或5?

圖形數(shù)據(jù)庫與關(guān)系型數(shù)據(jù)庫執(zhí)行時間對比如下表。

可見,在這種關(guān)聯(lián)關(guān)系簡單且關(guān)聯(lián)深度較大的情形下,用圖形數(shù)據(jù)庫對陣關(guān)系型數(shù)據(jù)庫簡直好比降維打擊。

2.敏捷性

圖形數(shù)據(jù)模型的結(jié)構(gòu)和模式隨著解決方案和行業(yè)的變化而變化。開發(fā)團(tuán)隊(duì)不必提前對將來的需求進(jìn)行詳盡的建模(然后在某些業(yè)務(wù)/產(chǎn)品人員要求更改后徹底地推翻重做);相反,新的節(jié)點(diǎn)、關(guān)系、節(jié)點(diǎn)的屬性還有關(guān)系的屬性都可以后期添加到現(xiàn)有結(jié)構(gòu)中,完全不會危及當(dāng)前的功能。

一個好玩的說法是:面對圖形數(shù)據(jù)庫模型,你只需要口述你的需求,然后讓它作出轉(zhuǎn)變;而關(guān)系型數(shù)據(jù)庫模型則恰好相反,它告知你它的需求,迫使你適應(yīng)它那該死的表格結(jié)構(gòu)。

3.靈敏性

使用圖形技術(shù)開發(fā)完全符合當(dāng)今的靈敏、測試驅(qū)動的開發(fā)實(shí)踐,它允許數(shù)據(jù)層支持的應(yīng)用程序隨著業(yè)務(wù)需求的進(jìn)展而快速迭代更新。

有哪些好用的圖形數(shù)據(jù)庫(最好是開源

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論