常見圖數據庫比較


1.數據庫分類: 傳統的關系數據庫和NoSQL數據庫
 
傳統的關系數據庫:mySQL、oracle
 
NoSQL數據庫分為Graph,Document,Column Family以及Key-Value Store等四種,分別對應titan、ES、hbase、redis。
 
2.圖數據庫相對於傳統關系型數據庫的優點
 
(1)傳統關系型數據庫為每一類實體建表,但沒有對關系進行表示的機制。因此在更多實體引入之后,我們將需要越來越多的關聯表,從而使得基於關系型數據庫的解決方案繁瑣易錯。
 
(2)圖數據庫由於其獨特的設計,為關系和屬性的查詢提供了快速的解決方案。
 
3.常見的圖數據庫
 
titan、neo4j、OrientDB、JanusGraph、HugeGraph、Trinity
 
4.圖數據庫比較
 
4.1權威評價標准
 
bench-mark,主要對單個文件讀取、單個文件寫入、單個集合上的聚合、找到鄰居的鄰居、找到19條最短路徑等測試
 
 
4.2 neo4j與titan和JanusGraph:
 
(1)neo4j的用戶生態更加完整,使用量多,受歡迎數據庫排名第1。
 
(2)開源版neo4j不支持分布式,而JanusGraph支持分布式。
 
(3)neo4j的表示語言不直觀,沒有sql方便
 
 
4.3 Trinity與JanusGraph和Neo4j:
 
Trinity中的邊作為Node的屬性存在,本身不能具有屬性;JanusGraph和Neo4j的邊本身是一個對象,可以具有屬性
 
4.4 titan與JanusGraph
 
JanusGraph是titan的升級版,titan目前已無人維護。
 
titan存在的問題:
(1)Titan 1.0.0僅僅穩定支持hadoop 1.2.1
(2)Titan 1.0.0采用較新版本的slf4j(1.7.5)和Hadoop采用的slf4j(1.4.3)版本不一致,可能會導致基於Hadoop的Titan圖數據庫運算,如mr.updateIndex不能正常運行.
(3)Titan 1.0.0,其PageRankVertexProgram,針對大規模頂點(>= 1000萬)時,由於程序bug,沒有保存部分頂點的PageRank值
 
 
5.為何不采用titan而自主研發?
 
(1)動態本體
 
(2)時空、標簽、關系 高度融合
 
(3)錄入、查詢性能低
 
參考資料:
 
 
深入思考:
 
1.titan架構有哪些可以借鑒的地方?
 
2.如何通過titan實現一個小案例?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM