• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

    nosql圖數(shù)據(jù)庫的比較

    來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 15:32:08
    文檔

    nosql圖數(shù)據(jù)庫的比較

    nosql圖數(shù)據(jù)庫的比較:隨著近年來 GIS 應(yīng)用越來越廣、應(yīng)用的層次越來越深,傳統(tǒng)的 GIS 平臺(tái),也隨之出現(xiàn)了捉衣見肘的尷尬局面。 最早 GIS 只是作為一個(gè)數(shù)字地圖的作用,用電子圖形來代替紙質(zhì)地圖的。數(shù)字地圖解決紙質(zhì)地圖不便于存儲(chǔ)、檢索、管理以及精度失真等問題;隨之發(fā)展到分
    推薦度:
    導(dǎo)讀nosql圖數(shù)據(jù)庫的比較:隨著近年來 GIS 應(yīng)用越來越廣、應(yīng)用的層次越來越深,傳統(tǒng)的 GIS 平臺(tái),也隨之出現(xiàn)了捉衣見肘的尷尬局面。 最早 GIS 只是作為一個(gè)數(shù)字地圖的作用,用電子圖形來代替紙質(zhì)地圖的。數(shù)字地圖解決紙質(zhì)地圖不便于存儲(chǔ)、檢索、管理以及精度失真等問題;隨之發(fā)展到分

    Neo4J可能是當(dāng)下人氣最高的圖形數(shù)據(jù)庫。從名稱我們就能看出Neo4J在設(shè)計(jì)上主要考慮到Java應(yīng)用程序的實(shí)際需求,但它同時(shí)也支持Python。Neo4J屬于開源項(xiàng)目,共有GPLv3社區(qū)版、高級(jí)版、企業(yè)版三種版本;后兩者都以AGPLv3商業(yè)許可為基礎(chǔ)。

    Neo4J中的圖形模型如圖一所示。簡單來說:

    ·節(jié)點(diǎn)與邊線可以被賦予屬性(鍵-值對(duì));

    ·只有邊線能夠與類別相關(guān)聯(lián),例如“KNOWS”;

    ·邊線可以指定為有指向或無指向。

    ▲圖一

    由于節(jié)點(diǎn)名稱的存在,如果大家想在圖中找到對(duì)應(yīng)節(jié)點(diǎn),那么必須依靠索引。Neo4J使用以下索引機(jī)制:一個(gè)超級(jí)參考節(jié)點(diǎn)通過一條特殊類別的邊線“REFERENCE”與所有節(jié)點(diǎn)相連。這實(shí)際上允許我們創(chuàng)建多個(gè)索引,借以通過不同的邊線類別對(duì)其加以區(qū)分。索引結(jié)構(gòu)如圖二所示。

    ▲圖二

    Neo4J還提供了一些特殊功能,例如列出特定節(jié)點(diǎn)的相鄰諸節(jié)點(diǎn)或是兩節(jié)點(diǎn)間長度最短的諸類路徑等。請(qǐng)注意,要使用上述各類“遍歷”功能,Neo4J要求大家指定路徑中經(jīng)過的邊線類別,其實(shí)這一點(diǎn)并不麻煩。

    其實(shí)大家不必將Neo4J作為軟件加以安裝。我們完全可以簡單地導(dǎo)入JAR文件來建立一套嵌入式圖形數(shù)據(jù)庫,該操作將在硬盤上建立對(duì)應(yīng)的目錄。具體信息在Neo4J的說明文檔中已經(jīng)相當(dāng)完備,而且其免費(fèi)版本也沒有設(shè)置節(jié)點(diǎn)支持?jǐn)?shù)量的上限。

    缺點(diǎn):

    ·盡管我們可以手動(dòng)為節(jié)點(diǎn)類別通過“type”鍵添加注釋,但相比之下為節(jié)點(diǎn)類別在API中提供本地支持無疑更好,因?yàn)檫@將使圖形模型更具普遍意義。另外一旦某個(gè)節(jié)點(diǎn)具備多種不同類別,麻煩也將隨之而來。

    ·由用戶手動(dòng)為新邊線設(shè)置索引機(jī)制似乎有點(diǎn)奇怪并且很不方便。最好是采用如今關(guān)系類數(shù)據(jù)庫的普遍做法:用戶只需表明要“為一組節(jié)點(diǎn)創(chuàng)建索引”,工作即可完成。

    2. Infinite Graph (Objectivity Inc.出品)

    InfiniteGraph 是一款由Objectivity公司推出的圖形類數(shù)據(jù)庫,該公司還推出過一款同名的對(duì)象類數(shù)據(jù)庫。免費(fèi)許可版本只能支持最高100萬節(jié)點(diǎn)及邊線總數(shù)。InfiniteGraph需要作為服務(wù)項(xiàng)目加以安裝,這與以MySQL為代表的傳統(tǒng)數(shù)據(jù)庫頗為相似。InfiniteGraph借鑒了Objectivity/DB中的面向?qū)ο蟾拍睿虼似渲械拿恳粋€(gè)節(jié)點(diǎn)及邊線都算作一個(gè)對(duì)象。尤其是:

    ·所有節(jié)點(diǎn)類都將擴(kuò)展BaseVertex基本類;

    ·所有邊線類都將擴(kuò)展BaseEdge基本類。

    在 http://wiki.infinitegraph.com/w/index.php?title=Tutorial:_Hello_Graph!中所顯示的展示頁面中,假設(shè)人是一個(gè)節(jié)點(diǎn)類、而會(huì)議算作為邊線類。以下是將一條邊線加入到兩個(gè)節(jié)點(diǎn)之間的代碼:

    Person john = new Person("John", "Hello ");
    helloGraphDB.addVertex(john);
    Person dana = new Person("Dana", "Database!");
    helloGraphDB.addVertex(dana);
    Meeting meeting1 = new Meeting("NY", "Graph");


    ▲圖三

    InfiniteGraph還提供了一套可視化工具用以查看數(shù)據(jù)。由上述代碼所生成的邊線將如圖三所示呈現(xiàn)出可視化效果。相比Neo4J在圖一中所展現(xiàn)的圖形模型,InfiniteGraph能夠支持同時(shí)具備多種不同類別/類的節(jié)點(diǎn)。請(qǐng)注意,Neo4J中的鍵-值對(duì)能夠?qū)?yīng)InfiniteGraph類中的成員變量。

    缺點(diǎn):

    ·作為服務(wù)項(xiàng)目進(jìn)行安裝本身沒什么問題,但配置過程完全可以更簡單些。

    ·由于節(jié)點(diǎn)與邊線都能成為用戶的定義對(duì)象,因此在靈活性得到保證的情況下,作者懷疑當(dāng)其處理龐大的圖形結(jié)構(gòu)時(shí),性能方面將受到嚴(yán)重影響。請(qǐng)大家記住,NoSQL數(shù)據(jù)庫一直以來所贏得的廣泛關(guān)注都建立在其始終傲人的性能表現(xiàn)上。

    3. DEX (Sparsity Technologies出品)

    DEX一直被形容為一款具備高性能及優(yōu)秀可擴(kuò)展性的圖形類數(shù)據(jù)庫,這對(duì)于NoSQL應(yīng)用程序來說無疑擁有相當(dāng)強(qiáng)的吸引力。其個(gè)人評(píng)估版本最多可支持100萬個(gè)節(jié)點(diǎn)。目前最新的版本是4.2,同時(shí)支持Java及.Net編程。請(qǐng)注意,舊的4.1版本只支持Java,且無法與新版本相兼容。直到文章截止之日(2011年11月24日),4.2版本的說明文檔仍不完備,而且很難在網(wǎng)上找到新版本的使用指導(dǎo)。


    ▲圖四

    圖四展示的是DEX的架構(gòu),這也解釋了為什么DEX能夠達(dá)成如此優(yōu)異的性能表現(xiàn)。本地C++ DEX核心正是關(guān)鍵所在。在此活動(dòng)頁面中,DEX項(xiàng)目團(tuán)隊(duì)演示了以其為基礎(chǔ)的數(shù)款令人興奮的應(yīng)用程序:

    ·書目探索: DEX使用實(shí)例,存儲(chǔ)著DBLP(即數(shù)字書目索引與圖書館項(xiàng)目)中的所有數(shù)據(jù)

    ·在DEX中載入Twitter:其中包括45億個(gè)圖形;

    ·在DEX及Query中載入維基百科:效果明顯好于Neo4J。

    DEX在安裝方面同樣簡便,大家只需要一個(gè)JAR文件并加以運(yùn)行即可。與Neo4J不同,DEX的當(dāng)前數(shù)據(jù)庫只是一個(gè)單獨(dú)的文件。DEX Java API同樣易于使用,而圖形類則幾乎能夠提供任何一項(xiàng)大家需要的操作。不過DEX也并非完善無缺,相信摒除下列缺點(diǎn)的DEX會(huì)在發(fā)展的道路上走得更遠(yuǎn):

    ·最好將個(gè)人版的節(jié)點(diǎn)上限數(shù)量提升到10億;

    ·盡快提供完備的說明文檔與更好的應(yīng)用實(shí)例;

    ·在短期之內(nèi)將舊版本中的圖形算法移植到新版本中。

    4. InfoGrid (Netmesh Inc.出品)

    InfoGrid一直標(biāo)榜自己是一款“網(wǎng)頁圖形數(shù)據(jù)庫”,也就是說它的某些功能主要面向網(wǎng)頁應(yīng)用程序。圖五展示了InfoGrid的整體框架,而圖形數(shù)據(jù)庫在其中所扮演的似乎并不是主要組成部分。InfoGrid在OpenID項(xiàng)目中也擁有幾款應(yīng)用程序,該項(xiàng)目同樣由Netmesh公司所支持。作者懷疑InfoGrid這套東西其實(shí)只在Netmesh公司內(nèi)部使用,因?yàn)樗嬖谥韵掠矀?/p>

    ·此處公布的最新Java API并不完善,且在某些地方有混淆情況;

    ·此處公布的使用教程語意含糊且不夠正式。

    ▲圖五

    點(diǎn)擊如下鏈接 http://infogrid.org/wiki/Examples/FirstStep可以查看首個(gè)應(yīng)用實(shí)例。雖然總體來說在閱讀方面沒什么難度,但像TAGLIBRARY, TAG, TAG_LABEL以及TAGLIBRARY_COLLECTS_TAG這類內(nèi)容的大量出現(xiàn)卻讓人相當(dāng)困惑。這些內(nèi)容似乎嵌入在模塊當(dāng)中,為什么會(huì)這樣?看起來該應(yīng)用實(shí)例其實(shí)是用在Netmesh公司的某個(gè)內(nèi)部項(xiàng)目中的,旨在為某些特定應(yīng)用程序提供服務(wù)。

    5. HyperGraphDB (Kobrix Inc.出品)

    HyperGraphDB是一套開源數(shù)據(jù)存儲(chǔ)機(jī)制,并依托于BerkeleyDB數(shù)據(jù)庫存在。HyperGraphDB的圖形模型被稱為直接式超圖形。從數(shù)學(xué)角度來講,超圖形允許其一條邊線指向兩個(gè)以上的節(jié)點(diǎn)。HyperGraphDB在此基礎(chǔ)上更進(jìn)一步,允許一條邊線指向其它邊線,如此一來HyperGraphDB在概括性方面就大大超過了其它圖形類數(shù)據(jù)庫。圖六顯示的就是四條邊線在超圖形實(shí)例中的情況,各邊線以不同顏色加以區(qū)分。

    ▲圖六

    HyperGraphDB教程似乎比較完備。HyperGraphDB中的每個(gè)節(jié)點(diǎn)被稱為一個(gè)原子,而索引及遍歷等操作也得到了良好的支持。

    備注:盡管這份教程寫得不錯(cuò),但同樣的錯(cuò)誤提示“….dll: Can’t find dependent libraries”仍然在Win 7操作系統(tǒng)中出現(xiàn)。在作者改用Ubuntu 64位系統(tǒng)后,示例程序彈出如下異常信息:“ELFCLASS32 (錯(cuò)誤原因分析:架構(gòu)字元寬度不匹配)”。這可能是因?yàn)镠yperGraphDB只支持32位Linux系統(tǒng)。

    6. Trinity (微軟出品)

    微軟不久之前才剛剛攜Trinity首個(gè)發(fā)布版本V0.1(只允許企業(yè)內(nèi)網(wǎng)接入)加入角逐。根據(jù)介紹,Trinity是一款基于內(nèi)存的圖形存儲(chǔ)機(jī)制,且具備豐富的數(shù)據(jù)庫功能,其中包括高并行性聯(lián)機(jī)查詢處理、ACI事務(wù)支持等等。在圖形處理方面,Trinity只為用戶提供了C# API。

    由于Trinity軟件包還不對(duì)微軟公司之外公開,因此目前尚無法獲悉更多細(xì)節(jié)信息。不過至少Trinity擁有以下關(guān)鍵性功能:

    ·使用超圖形作為數(shù)據(jù)模型;

    ·適合部署于公布式模型中。

    Trinity的系統(tǒng)架構(gòu)可點(diǎn)此查看。總體而言,在將Trinity與其它開源圖形類數(shù)據(jù)庫進(jìn)行比較時(shí),我們很難發(fā)現(xiàn)它所獨(dú)有的明顯優(yōu)勢。然而,由于Trinity仍處于開發(fā)原型階段,因此適當(dāng)加以關(guān)注也是必要的。此外,Probase作為一個(gè)進(jìn)行中的項(xiàng)目,似乎在本體論/分類法知識(shí)方面將Trinity當(dāng)成了理論基礎(chǔ)。點(diǎn)擊此處可以查看另一篇討論P(yáng)robase與Trinity的好文。

    7. AllegroGraph (Franz Inc.出品)

    AllegroGraph是一款老牌圖形類數(shù)據(jù)庫了,據(jù)稱其負(fù)載“數(shù)十億RDF(即資源描述框架)三元組仍可保持高性能”。盡管RDF三元組可以作為邊線來處理,但AllegroGraph的原本設(shè)計(jì)意圖是創(chuàng)建以RDF為中心的語義網(wǎng)絡(luò)應(yīng)用程序,并支持SPARQL、RDFS++以及Prolog等由包括Java程序在內(nèi)的各類客戶應(yīng)用推衍得出的程序。AllegroGraph RDFStore免費(fèi)版本支持最多5000萬個(gè)三元組。

    ▲圖七

    圖七展示的正是RDF圖形實(shí)例。AllegroGraph為每個(gè)三元組配備了一個(gè)名為“命名圖”的額外接口,這就使得三元組成為四邊形結(jié)構(gòu)(但為了方便起見仍稱其為三元組)。以下是作者根據(jù)圖七內(nèi)容所做出的判斷:

    主語 謂語 對(duì)象 圖形

    Robbie …的寵物 jans jans的主頁

    …的寵物 反義 擁有寵物 英語語法

    狗 子分類 哺乳動(dòng)物 科學(xué)

    要在RDF圖形中添加大量三元組,AllegroGraph提供了一套批量加載N個(gè)三元組與RDF/XML文件的工具。總而言之,AllegroGraph是RDF存儲(chǔ)的上佳選擇,但一般圖形則不太適合用這套方案。說明文檔似乎相當(dāng)冗長。點(diǎn)擊此處可以查看介紹與Java API教程,Sesame版本點(diǎn)此而Jena版本點(diǎn)此。

    總體比較

    總體比較結(jié)果如下表所示。每款產(chǎn)品似乎都支持高性能及分布式部署。“1M”是指對(duì)應(yīng)圖形數(shù)據(jù)庫可以支持100萬個(gè)免費(fèi)節(jié)點(diǎn)。RDF圖形可以被看作一種特殊屬性的圖形。由于超圖形是目前圖形格式中最常見的類型,因此支持超圖形的數(shù)據(jù)庫在理論上也應(yīng)該會(huì)支持屬性圖形。

      Neo4j InfiniteGraph DEX InfoGrid HyperGraphDB Trinity AllegroGraph
    說明文檔質(zhì)量 一般
    便攜性如何
    是否支持Java
    是否免費(fèi) < 1M < 1M < 50 M
    是否支持屬性圖 RDF
    是否支持超圖形

    基于對(duì)上述圖形數(shù)據(jù)庫的分析,我們可以選擇我們自己需要的數(shù)據(jù)庫做我們自己的應(yīng)用,拿出自己的拳頭產(chǎn)品。

    參考資料:

    http://neo4j.org/

    http://objectivity.com/

    http://sparsity-technologies.com/

    http://infogrid.org/

    http://www.hypergraphdb.org/

    http://database.51cto.com/art/201103/251198.htm

    http://www.franz.com/agraph/allegrograph/

    http://tech.it168.com/a2012/0112/1302/000001302117_all.shtml

    http://www.infoq.com/cn/articles/graph-nosql-neo4j


    http://blog.csdn.net/jianyi7659/article/details/8025742

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    nosql圖數(shù)據(jù)庫的比較

    nosql圖數(shù)據(jù)庫的比較:隨著近年來 GIS 應(yīng)用越來越廣、應(yīng)用的層次越來越深,傳統(tǒng)的 GIS 平臺(tái),也隨之出現(xiàn)了捉衣見肘的尷尬局面。 最早 GIS 只是作為一個(gè)數(shù)字地圖的作用,用電子圖形來代替紙質(zhì)地圖的。數(shù)字地圖解決紙質(zhì)地圖不便于存儲(chǔ)、檢索、管理以及精度失真等問題;隨之發(fā)展到分
    推薦度:
    標(biāo)簽: 應(yīng)用 越來越 比較
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美精品一区二区蜜臀亚洲 | 91麻精品国产91久久久久| 久久精品二区| 久久99热国产这有精品| 无码精品A∨在线观看| 久久久久成人精品无码| 91精品国产综合久久四虎久久无码一级 | 1024国产欧美日韩精品| 欧美激情精品久久久久久| 99re66在线观看精品免费| 成人午夜精品网站在线观看| 久久国产精品一国产精品金尊| 亚洲国产精品毛片av不卡在线 | 久久99久久99小草精品免视看| 国产精品视频永久免费播放| 亚洲中文久久精品无码| 欧美成人精品一区二三区在线观看| 国产精品主播一区二区| 国产99视频精品免费视频76| 久久精品一区二区三区不卡| 国产精品专区第二| 国产精品成人观看视频免费| 91视频精品全国免费观看| 成人无码精品1区2区3区免费看| 国产午夜精品久久久久免费视 | 久久这里只有精品首页| 国产精品一国产精品| 99热这里只有精品在线| 国产精品视频永久免费播放| 国产精品无码午夜福利| 国产成人精品日本亚洲网站| 国产人妖乱国产精品人妖| 99re热视频这里只精品| 国产精品毛片久久久久久久| 国产精品久久久久久影院| 国产精品高清一区二区三区不卡 | 午夜精品久久久久久久久| 无码精品A∨在线观看中文| 日韩精品久久久久久免费| 精品国产午夜理论片不卡| 99久久国产综合精品麻豆|