亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

大數(shù)據(jù)時(shí)代的新型數(shù)據(jù)庫(kù)--圖數(shù)據(jù)庫(kù) Neo4j

IT那活兒 / 2485人閱讀
大數(shù)據(jù)時(shí)代的新型數(shù)據(jù)庫(kù)--圖數(shù)據(jù)庫(kù) Neo4j

1

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

圖數(shù)據(jù)庫(kù)是基于數(shù)學(xué)里圖論的思想和算法而實(shí)現(xiàn)的高效處理復(fù)雜關(guān)系網(wǎng)絡(luò)的新型數(shù)據(jù)庫(kù)系統(tǒng)。

圖數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方式就像將其繪制出來(lái)一樣-Nodes通過Relationships所定義的關(guān)系相連起來(lái),形成關(guān)系型網(wǎng)絡(luò)結(jié)構(gòu),展示了每個(gè)多帶帶的實(shí)體如何與其他實(shí)體聯(lián)系或相互關(guān)聯(lián)。

2

圖數(shù)據(jù)庫(kù)擅長(zhǎng)做什么-與傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)相比


關(guān)系查詢更佳:圖形數(shù)據(jù)庫(kù)善于高效處理大量的、復(fù)雜的、互連的、多變的數(shù)據(jù)。其計(jì)算效率遠(yuǎn)遠(yuǎn)高于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)。

傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)在查詢關(guān)系問題上最簡(jiǎn)單的方法就是建立一個(gè)關(guān)系模型,如下圖:

圖中展示了一個(gè)非常簡(jiǎn)單的關(guān)系模型,當(dāng)我們想就這個(gè)關(guān)系模型查詢關(guān)系深度為1的關(guān)系(比如小明的朋友)時(shí)可使用

進(jìn)行查詢

深度為1的查詢,關(guān)聯(lián)關(guān)系并不復(fù)雜,MySQL執(zhí)行起來(lái)壓力不大,語(yǔ)句也很容易編寫,但是如果將深度提到2(也就是查詢小明朋友的朋友時(shí))語(yǔ)句已經(jīng)開始變長(zhǎng),再進(jìn)一步將深度提升到3時(shí),MySQL查詢也會(huì)開始產(chǎn)生壓力。


有一個(gè)很有意思的測(cè)試,一分別通過關(guān)系型數(shù)據(jù)和圖數(shù)據(jù)庫(kù)在一個(gè)社交網(wǎng)絡(luò)里找到最大深度為5的關(guān)系。他們的數(shù)據(jù)集包括100萬(wàn)人,每人約有50個(gè)朋友。實(shí)驗(yàn)結(jié)果如下:

當(dāng)查詢的關(guān)系深度達(dá)到3時(shí),MySQL的查詢效率便開始被Neo4j圖數(shù)據(jù)庫(kù)甩開。

至于為什么Neo4j的關(guān)系查詢能力能夠優(yōu)于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù),則需要去了解它是如何存儲(chǔ)數(shù)據(jù)的。

3

圖數(shù)據(jù)庫(kù)Neo4j的存儲(chǔ)結(jié)構(gòu)


節(jié)點(diǎn)、關(guān)系與屬性

一個(gè)圖數(shù)據(jù)庫(kù)中的數(shù)據(jù)由節(jié)點(diǎn)(node)和將節(jié)點(diǎn)連接起來(lái)的關(guān)系(relationship)組成,節(jié)點(diǎn)(node)和關(guān)系(relationship)中又包含一個(gè)或多個(gè)屬性(property)。節(jié)點(diǎn)有擁有若干標(biāo)簽,關(guān)系帶有類型。

原生圖存儲(chǔ)(nativegraph storage

一般認(rèn)為具有"無(wú)索引鄰接"特性的圖數(shù)據(jù)庫(kù)才稱為原生圖數(shù)據(jù)。

neo4j的節(jié)點(diǎn)、關(guān)系和屬性分別保存在neostore.nodestore.db、neostore.relationshipstore.db和neostore.propertystore.db文件中,在neo4j中,點(diǎn)、關(guān)系和屬性等圖的組成元素都是基于neo4j內(nèi)部維護(hù)的ID進(jìn)行訪問的,數(shù)據(jù)結(jié)構(gòu)如下圖:
節(jié)點(diǎn)(指向聯(lián)系和屬性的單向鏈表,neostore.nodestore.db):
inUse:表示是否被使用的標(biāo)志位。
nextRelId:代表關(guān)聯(lián)到這個(gè)節(jié)點(diǎn)的第一個(gè)關(guān)系的ID。
nextPropId:代表第一個(gè)屬性ID。
labels:是代表當(dāng)前節(jié)點(diǎn)的標(biāo)簽,指向該節(jié)點(diǎn)的標(biāo)簽存儲(chǔ)。
extra:作為保留位。
關(guān)系(雙向鏈表,neostore.relationshipstore.db):
inUse:代表是否被使用的標(biāo)志位。
firstNode:表示起始節(jié)點(diǎn)的ID
secondNode:表示結(jié)束節(jié)點(diǎn)的ID
relationshipType:表示關(guān)系類型
firstPrevRelId:表示起始頂點(diǎn)上前一個(gè)邊記錄
firstNextRelId:表示起始頂點(diǎn)上后一個(gè)邊記錄
secPrevRelId:表示終止頂點(diǎn)上前一個(gè)邊記錄
secNextRelId:表示終止頂點(diǎn)上后一個(gè)邊記錄
指向前后邊記錄的4個(gè)指針形成了兩個(gè)“關(guān)系雙向鏈”
nextPropId:是邊上的第1個(gè)屬性的id
firstInChainMarker:表示該邊記錄是否是“關(guān)系鏈”中第1條記錄
一個(gè)Byte存輔助信息,即前后屬性結(jié)構(gòu)ID的高位信息
一個(gè)Int存前一個(gè)屬性
一個(gè)Int存下一個(gè)屬性


假設(shè)要查詢與某個(gè)點(diǎn)有對(duì)應(yīng)關(guān)系的所有點(diǎn)時(shí),首先查到該點(diǎn)的ID,通過該ID計(jì)算該點(diǎn)的存儲(chǔ)偏移位置,從存儲(chǔ)文件中獲取到該點(diǎn)的信息,然后從該點(diǎn)的信息中獲取到該點(diǎn)nextRelId數(shù)據(jù)即該點(diǎn)第一個(gè)關(guān)系的ID,根據(jù)這個(gè)ID計(jì)算該關(guān)系存儲(chǔ)偏移量,從存儲(chǔ)文件中獲取該關(guān)系數(shù)據(jù),判斷是否為需要查詢的關(guān)系,若為所要查詢的,則獲取該關(guān)系的secondNode即該關(guān)系的終節(jié)點(diǎn)ID,若為其他節(jié)點(diǎn)則保存該ID,查詢到所有數(shù)據(jù)返回關(guān)系及節(jié)點(diǎn)。

綜上所述Neo4j關(guān)系查詢的核心便在relationship(關(guān)系)的存儲(chǔ)上,一條關(guān)系存儲(chǔ)的數(shù)據(jù)包括上一條邊、下一條邊、關(guān)系/邊的起始節(jié)點(diǎn)與結(jié)束節(jié)點(diǎn),當(dāng)查詢某一個(gè)點(diǎn)某一條關(guān)系時(shí)只需查詢到該點(diǎn)所對(duì)應(yīng)的第一條關(guān)系/邊,然后根據(jù)這條關(guān)系上所存儲(chǔ)的下一條關(guān)系以及關(guān)系的開始節(jié)點(diǎn)與終節(jié)點(diǎn)進(jìn)行查詢即可。

Neo4j中node、relationship、property以鏈表的形式存儲(chǔ)了本記錄及上一條或下一條記錄的相關(guān)信息,保證了關(guān)系遍歷的效率。

關(guān)于Neo4j的介紹就到這里。


END


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/129958.html

相關(guān)文章

  • 云計(jì)算?數(shù)據(jù)?SaaS回歸

    摘要:宋體當(dāng)云計(jì)算如火如荼的肆意展現(xiàn)時(shí)代風(fēng)采的時(shí)候,大數(shù)據(jù)已經(jīng)悄然的出現(xiàn)在這個(gè)巨大的舞臺(tái)中央。對(duì)于云計(jì)算來(lái)說,大數(shù)據(jù)在云平臺(tái)上盡情展現(xiàn)那風(fēng)華絕代的容姿,為客戶帶去大數(shù)據(jù)深埋的價(jià)值,將是云計(jì)算送給所有云時(shí)代用戶們最精彩的表演。 當(dāng)云計(jì)算如火如荼的肆意展現(xiàn)時(shí)代風(fēng)采的時(shí)候,大數(shù)據(jù)已經(jīng)悄然的出現(xiàn)在這個(gè)巨大的舞臺(tái)中央。對(duì)于云計(jì)算來(lái)說,大數(shù)據(jù)在云平臺(tái)上盡情展現(xiàn)那風(fēng)華絕代的容姿,為客戶帶去大數(shù)據(jù)深埋的價(jià)值,將是...

    Crazy_Coder 評(píng)論0 收藏0
  • PHPOA辦公系統(tǒng):新型工作流引擎4.0,快速提升OA辦公方式

    摘要:更嚴(yán)重的是,會(huì)導(dǎo)致信息系統(tǒng)的失控。實(shí)現(xiàn)了數(shù)據(jù)的同步交換和共享,從而簡(jiǎn)化多余流程,消除重復(fù)工作,有效提升工作效率和精度。工作流將大大深化系統(tǒng)的應(yīng)用,讓系統(tǒng)發(fā)揮出全新的價(jià)值。而不具有工作流特點(diǎn)的系統(tǒng),將很快被時(shí)代所拋棄。 一、工作流1.0時(shí)代終結(jié)OA系統(tǒng)的應(yīng)用正在不斷深化,正在逐漸完成從無(wú)紙化到智能化的轉(zhuǎn)變,作為OA系統(tǒng)應(yīng)用的核心,工作流技術(shù)也同樣發(fā)生了很大的轉(zhuǎn)變。 我們知道,對(duì)工作流比較...

    afishhhhh 評(píng)論0 收藏0
  • 新型數(shù)據(jù)云服務(wù)企業(yè)新數(shù)科技完成千萬(wàn)元Pre-A輪融資

    摘要:近日,數(shù)據(jù)云服務(wù)企業(yè)新數(shù)科技宣布完成千萬(wàn)元首輪融資,本輪融資由天創(chuàng)資本領(lǐng)投,白澤資本原以太資本擔(dān)任財(cái)務(wù)顧問,資金將主要用于云數(shù)據(jù)庫(kù)新型管理平臺(tái)等軟件產(chǎn)品的研發(fā)投入行業(yè)生態(tài)體系建設(shè)和人才引進(jìn)等方面。近日,數(shù)據(jù)云服務(wù)企業(yè)新數(shù)科技宣布完成千萬(wàn)元首輪融資,本輪融資由天創(chuàng)資本領(lǐng)投,白澤資本(原以太資本)擔(dān)任財(cái)務(wù)顧問,資金將主要用于云數(shù)據(jù)庫(kù)新型管理平臺(tái)等軟件產(chǎn)品的研發(fā)投入、行業(yè)生態(tài)體系建設(shè)和人才引進(jìn)等方...

    DoINsiSt 評(píng)論0 收藏0
  • 創(chuàng)新加速云計(jì)算普及和技術(shù)演進(jìn)

    摘要:創(chuàng)新加速了云計(jì)算在中國(guó)的普及,中橋調(diào)研顯示,中國(guó)近企業(yè)級(jí)用戶將在混合云環(huán)境下運(yùn)營(yíng),公有云快速成為核心資源。云計(jì)算高動(dòng)態(tài)高自動(dòng)化的資源部署和管理,讓用戶能夠靈活根據(jù)業(yè)務(wù)需求,進(jìn)行實(shí)時(shí)近實(shí)時(shí)交付,從而最大限度降低投入。數(shù)字化時(shí)代,創(chuàng)新快速成為數(shù)字經(jīng)濟(jì)增長(zhǎng)最重要的驅(qū)動(dòng)力。近年來(lái),各國(guó)政府都出臺(tái)了相應(yīng)創(chuàng)新戰(zhàn)略和規(guī)劃,以推動(dòng)自身經(jīng)濟(jì)可持續(xù)發(fā)展,提升國(guó)家在全球的競(jìng)爭(zhēng)力。無(wú)論是德國(guó)的《新高科技戰(zhàn)略–為德國(guó)...

    Betta 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<