常见图数据库比较

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实现一个小案例?
posted @ 2019-08-09 17:08  zhongzh  阅读(12945)  评论(0编辑  收藏  举报