七款主流圖形數(shù)據(jù)庫功能對比

2012-02-07 10:56:26來源:it168作者:

圖形數(shù)據(jù)庫屬于NoSQL數(shù)據(jù)庫四大類型之一,圖形存儲類產(chǎn)品中也以下列七種較為流行及常用: Neo4J, Infinite Graph, DEX, InfoGrid, HyperGraphDB, Trinity 以及AllegroGraph。

圖形數(shù)據(jù)庫屬于NoSQL數(shù)據(jù)庫四大類型之一,圖形存儲類產(chǎn)品中也以下列七種較為流行及常用: Neo4J, Infinite Graph, DEX, InfoGrid, HyperGraphDB, Trinity 以及AllegroGraph。

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

圖形數(shù)據(jù)庫對比表
圖形數(shù)據(jù)庫對比表

Neo4J是當下人氣最高的圖形數(shù)據(jù)庫。從名稱我們就能看出Neo4J在設計上主要考慮到Java應用程序的實際需求,但它同時也支持Python。Neo4J屬于開源項目,共有GPLv3社區(qū)版、高級版、企業(yè)版三種版本;后兩者都以AGPLv3商業(yè)許可為基礎。 更多內(nèi)容請參見:http://neo4j.org/

InfiniteGraph 是一款由Objectivity公司推出的圖形類數(shù)據(jù)庫,該公司還推出過一款同名的對象類數(shù)據(jù)庫。免費許可版本只能支持最高100萬節(jié)點及邊線總數(shù)。InfiniteGraph需要作為服務項目加以安裝,這與以MySQL為代表的傳統(tǒng)數(shù)據(jù)庫頗為相似。InfiniteGraph借鑒了Objectivity/DB中的面向對象概念,因此其中的每一個節(jié)點及邊線都算作一個對象。 更多內(nèi)容請參見:http://www.infinitegraph.com/

DEX一直被形容為一款具備高性能及優(yōu)秀可擴展性的圖形類數(shù)據(jù)庫,這對于NoSQL應用程序來說無疑擁有相當強的吸引力。其個人評估版本最多可支持100萬個節(jié)點。目前最新的版本是4.2,同時支持Java及.Net編程。請注意,舊的4.1版本只支持Java,且無法與新版本相兼容。 更多內(nèi)容請參見:http://sparsity-technologies.com/dex

InfoGrid一直標榜自己是一款“網(wǎng)頁圖形數(shù)據(jù)庫”,也就是說它的某些功能主要面向網(wǎng)頁應用程序。圖五展示了InfoGrid的整體框架,而圖形數(shù)據(jù)庫在其中所扮演的似乎并不是主要組成部分。InfoGrid在OpenID項目中也擁有幾款應用程序,該項目同樣由Netmesh公司所支持。 更多內(nèi)容請參見:http://infogrid.org/

HyperGraphDB是一套開源數(shù)據(jù)存儲機制,并依托于BerkeleyDB數(shù)據(jù)庫存在。HyperGraphDB的圖形模型被稱為直接式超圖形。從數(shù)學角度來講,超圖形允許其一條邊線指向兩個以上的節(jié)點。HyperGraphDB在此基礎上更進一步,允許一條邊線指向其它邊線,如此一來HyperGraphDB在概括性方面就大大超過了其它圖形類數(shù)據(jù)庫。 更多內(nèi)容請參見:http://www.hypergraphdb.org/index

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

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

哪款數(shù)據(jù)庫能夠勝出?哈哈,還是老答案,“取決于實際需求”。盡管對具備不同特點的產(chǎn)品進行排名總會惹來激烈的辯論,但有時我們還是需要做出這個“艱難的決定”:

  • 如果大家需要存儲RDF三元組,那么AllegroGraph是首選;
  • 處理屬性圖,Neo4J與DEX是當仁不讓的利器;
  • 處理超圖形,HyperGraphDB堪稱行家。

贊助商鏈接: