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實現一個小案例?