訂閱
糾錯
加入自媒體

探索圖數(shù)據(jù)庫在數(shù)據(jù)資產(chǎn)可視化中的應用

2020-07-09 10:04
EAWorld
關注

NoSQL數(shù)據(jù)庫分為四種類型,分別是:

鍵值(key/value)數(shù)據(jù)庫

列存儲數(shù)據(jù)庫

文檔型數(shù)據(jù)庫

圖數(shù)據(jù)庫

上圖就是db-engines.com對從2013年來所有數(shù)據(jù)庫種類發(fā)展趨勢的分析結果如圖展示。圖(Graph)是非常強大的工具,因為它們通過以簡潔的形式表示數(shù)據(jù)關系,幫助商業(yè)世界和其他機構中的人們理解數(shù)據(jù)集。有了合適的圖數(shù)據(jù)庫,企業(yè)可以以關系圖的形式可視化數(shù)據(jù),并對其進行管理,以提高整體效能。比起傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)存儲,圖數(shù)據(jù)庫能夠清晰的展現(xiàn)點與點之間的關系。許多組織之所以接受圖數(shù)據(jù)庫,是因為越來越多的行業(yè)認識到這種數(shù)據(jù)庫技術的重要性,尤其在復雜的場景下,如物流,金融風控,社交網(wǎng)絡管理,媒體傳播分析等行業(yè)正在發(fā)揮不可或缺的作用。

圖數(shù)據(jù)庫是分析數(shù)據(jù)間關聯(lián)的最佳技術

圖數(shù)據(jù)庫對于可以在不同場景下發(fā)揮作用,從企業(yè)應用角度,業(yè)務用戶使用角度,數(shù)據(jù)開發(fā)者應用角度都發(fā)揮著作用。

圖數(shù)據(jù)庫對于可以在不同場景下發(fā)揮作用,從企業(yè)應用角度,業(yè)務用戶使用角度,數(shù)據(jù)開發(fā)者應用角度都發(fā)揮著作用。

圖數(shù)據(jù)庫產(chǎn)品

依據(jù)db-engines.com網(wǎng)站對Graph DBMS的排名來看,目前主流的圖數(shù)據(jù)庫有:Neo4j,Janusgraph,Dgraph,ArangoDB,OrientDB,TigerGraph等。下面我們來介紹一下目前圖數(shù)據(jù)庫的分類都有哪些。

圖數(shù)據(jù)庫分類

原生數(shù)據(jù)庫:

代表數(shù)據(jù)庫為neo4j、orientdb。其原生體現(xiàn)在查點到邊或者邊到點的時候,不需要走原來關系型數(shù)據(jù)庫的B+索引,節(jié)點本身就有指向索引,類似于鏈表的指針概念

直接在關系型數(shù)據(jù)庫之上構建的圖數(shù)據(jù)庫:

代表為AgensGraph,以及微軟的GraphView。SparkGraphX也可以基于關系型存儲結構進行轉化成圖結構,然后完成圖運算

使用外置nosql存儲的數(shù)據(jù)庫:

以Titan/JanusGraph為代表,以及使用外置的索引生成工具如Elasticsearch,OLAP支持外接Spark等工具,以及Cassandra/Hbase等nosql數(shù)據(jù)庫。

在圖計算上基于batch進行優(yōu)化的新一代圖數(shù)據(jù)庫:

如DGraph。DGraph的存儲結構與cayley同樣借鑒了google的論文,將每個節(jié)點的屬性也作為一個節(jié)點與主節(jié)點產(chǎn)生聯(lián)系,這樣更有益于基于batch來設計運算方法。

Neo4j

Neo4j圖數(shù)據(jù)庫,它是一個高性能的NOSQL圖形數(shù)據(jù)庫,它將結構化數(shù)據(jù)存儲在網(wǎng)絡上而不是表中。它是一個嵌入式的、基于磁盤的、具備完全的事務特性的Java持久化引擎,但是它將結構化數(shù)據(jù)存儲在網(wǎng)絡(從數(shù)學角度叫做圖)上而不是表中。

優(yōu)勢:

可集群,使用讀/寫負載平衡器將請求直接到一個集群

支持事物、鎖、頁面緩存

遍歷下:建立索引通常成本O(log(n)),但Neo4J的遍歷一個關系的復雜度趨向于O(1)

支持ACID事務,它確保實時顯示數(shù)據(jù)的合法性和準確性。

Cypher語法友好

劣勢:

Neo4j沒法存儲巨大的一張關系圖 ,因為他不支持分片

因為index-free adjacency,遍歷快但是計算隨機兩個節(jié)點最短路徑性能不佳

索引:

index-free adjacency,擅長遍歷圖,以及計算不存在大量關系的節(jié)點的圖

ArangoDB

ArangoDB圖數(shù)據(jù)庫,它是一個原生多模型數(shù)據(jù)庫,兼有key/value鍵/值對、graph圖和document文檔數(shù)據(jù)模型,提供了涵蓋三種數(shù)據(jù)模型的統(tǒng)一的數(shù)據(jù)庫查詢語言,并允許在單個查詢中混合使用三種模型;谄浔镜丶啥嗄P吞匦,您可以搭建高性能程序,并且這三種數(shù)據(jù)模型均支持水平擴展。

優(yōu)勢:

存儲空間占用下:采用了元數(shù)據(jù)模式存儲數(shù)據(jù);可通過內存提速,CPU占用率低

支持主從集群

Multi-collection transactions

擴展性好:JavaScript

用JavaScript和ArangoDB構建應用,F(xiàn)oxx微服務運行在DB內部,可快速訪問數(shù)據(jù)。

AQL功能很強大,配置編程遠方便于、靈活于Neo4J、OrientDB

Neo4J的Cypher也比較強大,清晰,但是不利于調整,靈活性不夠

OrientDB,類SQL,查詢繁瑣,調整不便利,內置SQL函數(shù)接口也不方便

劣勢:

插入性能稍低

索引:

自動索引_key屬性,_from和_to屬性;保證V和E的查找速度

OrientDB

OrientDB是指兼具文檔數(shù)據(jù)庫的靈活性和圖形數(shù)據(jù)庫管理鏈接能力的可深層次擴展的文檔-圖形數(shù)據(jù)庫管理系統(tǒng)。

優(yōu)勢:

安裝簡單,功能豐富

OrientDB是兼具文檔數(shù)據(jù)庫的靈活性和圖形數(shù)據(jù)庫管理鏈接能力的可深層次擴展的文檔-圖形數(shù)據(jù)庫管理系統(tǒng)(NoSQL數(shù)據(jù)庫)

可選無模式、全模式或混合模式下。支持許多高級特性,諸如ACID事務、快速索引,原生和SQL查詢功能

可以JSON格式導入、導出文檔

若不執(zhí)行昂貴的JOIN操作的話,如同關系數(shù)據(jù)庫可在幾毫秒內可檢索數(shù)以百計的鏈接文檔圖

劣勢:

坑很多

性能和可擴展性不好

索引:

側重文檔數(shù)據(jù)庫,主要還是SB樹索引導致,空間浪費比較大;插入節(jié)點與另外兩個數(shù)據(jù)庫(neo4j和ArangoDB)相差無幾,但是在插入關系中另外兩個數(shù)據(jù)庫都做了優(yōu)化,OrientDB無優(yōu)化,就掛了;在圖論計算力上性能優(yōu)異,但是在遍歷中還是優(yōu)化不夠,被甩開。

JanusGraph

開源 JanusGraph是一個可擴展的圖數(shù)據(jù)庫,可以把包含數(shù)千億個頂點和邊的圖存儲在多機集群上。它支持事務,支持數(shù)千用戶實時、并發(fā)訪問存儲在其中的圖。

優(yōu)勢:

分布式部署,因此,支持集群

可以存儲大圖,比如包含數(shù)千億Vertices和edges的圖

支持數(shù)千用戶實時、并發(fā)訪問。

集群節(jié)點可以線性擴展,以支持更大的圖和更多的并發(fā)訪問用戶。

數(shù)據(jù)分布式存儲,并且每一份數(shù)據(jù)都有多個副本,因此,有更好的計算性能和容錯性。

支持在多個數(shù)據(jù)中心做高可用,支持熱備份。

通過集成大數(shù)據(jù)平臺,比如Apache Spark、Apache Giraph、Apache Hadoop等,支持全局圖數(shù)據(jù)分析、報表、ETL

集成ElasticSearch、Apache Solr、Apache Lucene等系統(tǒng)后,可以支持全文搜索

在計算層上可使用Spark做計算,這點優(yōu)于Neo4j和OrientDB

即可OLAP也可OLTP,可以執(zhí)行批處理和實時處理

開源,基于Apache 2 Licence

支持各種后端存儲系統(tǒng),目前標準支持以下四種,當然也可以增加第三方的存儲系統(tǒng):

Apache Cassandra

Apache HBase

Google Cloud Bigtable

Oracle BerkeleyDB

<上一頁  1  2  3  4  下一頁>  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內容
文章糾錯
x
*文字標題:
*糾錯內容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號