有人可以提供或指出Neo4j和Titan之间的良好比较吗? 我可以看到的一点是规模 - Titan是横向扩展,需要像cassandra这样的基础可扩展数据存储区。 Neo4j仅适用于HA,并拥有自己的嵌入式数据库。还有其他优点和缺点吗?任何特定的用例。 (Titan目前在哪里使用?)
我还有以下链接:http://architects.dzone.com/articles/16-graph-databases-compared给出了图形数据库的客观比较,但对Neo4j和Titan之间的利弊没有多少。
答案 0 :(得分:26)
我们有一个社交图,其中我们在一天内添加了近1百万个节点和两倍的边。我们从neo4j图开始,因为它是非常快的,因为它的存储位于图形引擎运行的同一台机器上。但以下是我们想与您分享关于neo4j的经历。
最终,我们在使用gremlin查询服务器性能方面已经非常糟糕,我们不得不将数据库更改为titan。
对于泰坦而言,我们正在获得合理的性能,并且因为我们使用cassandra作为后端存储,因此缩放非常容易。但请注意,在这里使用gremlin也不是一个好主意,因为multiget查询非常难以编写,如果没有multiget,它的查询会变得非常慢。
答案 1 :(得分:16)
很高兴看到你在探索图形数据库。我会谈谈你问题的Neo4j部分:
全球2000强中有超过30个现在使用Neo4j进行生产,用于各种用例,其中许多都令人惊讶,甚至对我们来说也是如此! (我们发明了属性图!)
部分客户列表如下: www.neotechnology.com/customers
Neo4j已经进行了10年的全天候生产,虽然该产品从那时起经历了显着的发展,但它建立在一个非常坚实的基础之上。
大多数转向图形数据库的公司 - 就我所知道的Neo4j而言 - 正在这样做,因为要么a)他们的RDBMS无法处理范围&它们的连接查询要求的规模,和/或b)作为图形建模域(社交,网络和数据中心管理,欺诈,投资组合,身份等)的巨大便利性和速度,而不是作为表格。
对于踢球,你可以在今天在世界各大城市举办的四场(即将举行的五场)GraphConnect会议上找到许多客户讲座:
如果你在伦敦,最后一个将在下周举行: http://www.graphconnect.com
您将在下面找到Neo4j背后的一些技术摘要,以及一些客户示例。要直接谈论有关扩展的问题:Neo4j具有独特的架构,旨在最大限度地提高查询响应时间和范围。查询可预测性,允许水平扩展,使每个实例都可以访问图形而不必跳过网络。 (需要更多的读取吞吐量。只需添加实例。)事实证明,这种方法适用于95%以上的图表,包括一些生产客户,其中有超过一半的Facebook社交图在一个Neo4j集群中运行,支持“永远在线”的24x7网站。
www.neotechnology.com/neo4j-scales-for-the-enterprise/
世界上最大的邮政投递服务之一使用Neo4j完成所有实时包裹路由。铁路正在Neo4j上建立路由系统。世界上一些最大的客户正在将它们用于人力资源和数据治理,备用路径路由,网络和网络管理。数据中心管理,实时欺诈检测,生物信息学等。
Neo4j的Cypher查询语言是唯一为属性图构建的声明性查询语言。它从我们13年历史的原生Java API(这是Blueprints的基础,其他一些图形数据库已采用)中吸取了所有经验教训,并将它们推广到下一代语言。 Cypher是学习图形和开发应用程序的好方法;如果您有特殊需求或价值“裸机”性能(即亚毫秒与单位数毫秒)以上的便利性,则始终存在本机Java API。 Neo4j是从头开始构建的,用于支持图形,并有一个图形存储引擎,用于存储图形;与图形数据库生态系统的一些最新增加不同,它们被构建为非图形数据库之上的图形库,并受到一些固有的限制。 (例如,FlockDB,因为它基于MySQL,对于大于一跳的任何东西,它仍然会非常慢。)
如果您需要更具体的信息,请随时联系Neo团队。我们非常乐意为您提供帮助! http://info.neotechnology.com/ContactUs.html
祝你好运!