体验导向DB vs Neo4j

体验导向DB vs Neo4j,neo4j,graph-databases,orientdb,Neo4j,Graph Databases,Orientdb,我正在为一个项目寻找合适的图形数据库。我测试了Neo4j,非常喜欢它。但是AGPL许可问题让我有点犹豫() 然后我发现了几篇文章声称OrientDB实际上要快得多。但它们并不是最新的。你找到他们,然后。它是在Apache2下授权的,这很好 所以我只想问斯塔克斯沃夫的伟人你的意见 可伸缩性很重要,OrientDB声称在这方面做得更好() 发牌应该是开放的 我有一个复杂的顶点/边模型,需要检索多达3个层次的关系 OrientDB提供的混合文档图似乎是一个优势 谢谢你的反馈 注意:我是Orient

我正在为一个项目寻找合适的图形数据库。我测试了Neo4j,非常喜欢它。但是AGPL许可问题让我有点犹豫()

然后我发现了几篇文章声称OrientDB实际上要快得多。但它们并不是最新的。你找到他们,然后。它是在Apache2下授权的,这很好

所以我只想问斯塔克斯沃夫的伟人你的意见

  • 可伸缩性很重要,OrientDB声称在这方面做得更好()
  • 发牌应该是开放的
  • 我有一个复杂的顶点/边模型,需要检索多达3个层次的关系
  • OrientDB提供的混合文档图似乎是一个优势

谢谢你的反馈

注意:我是OrientDB团队的一员,我的观点肯定有偏差。我的回答也非常随意

关于你的观点:

1) 在集群部署的主题上,目前还没有进行比较。Neo4j是主从复制,他们声明它通常只适用于一位数的节点部署,并且整个图必须属于一台机器。直接从他们那里听到:

OrientDB完全能够执行多主机复制(每个节点都可以接受读取和写入),能够共享数据,使用群集智能地分发数据,并自动化分布式查询和事务。我们的首席执行官最近为hazelcast举办了一次出色的网络研讨会,展示了我们在该领域的设置:

2) Apache2.0是我们的社区许可证,这是非常自由的。您甚至可以免费嵌入OrientDB社区版。(A) GPL担心他们封闭的源代码会被污染。这可能是一种威胁,也可能不是,但有时很难确定。我们的社区许可证功能非常丰富,包括完全分布式、多主机复制和分片

3) 遍历关系是图形数据库的一种要点。所以无论是Neo4j还是OrientDB都很适合你。。。深入到2000级,它仍将发挥作用

4) 文档图功能非常强大,但您知道我会这么说。我们构建的产品是一个生产级系统,设计成一个完整的数据库,而不是作为RDBMS或其他数据存储的补充的边数据库

我在这里表现得很好。但我有很好的理由。在过去的3周里,一家世界领先的科技公司的开发人员团队一直在对OrientDB和Neo4j进行测试。对于他们非常苛刻的用例,出于各种原因,我们是更好的选择。钱不是问题,我们用技术赢得了生意


不管它值多少钱,我已经事先说明了我的偏见。从我的经验来看,一旦您与OrientDB合作,就不会有回头路了。如果您需要帮助,请告诉我们

有人能解释一下,为什么这被否决了,人们投票来结束这个问题吗?严肃的问题,我做错了什么?我想一般来说,SO的形式是用来提问和得到答案的。人们经常对那些吸引了非常固执己见的答案的帖子投反对票,例如“你能推荐最好的X吗”或“哪个更好,X还是Y?”——你的问题没有任何特定的数据集或查询。如果你重新设计了你的问题,询问哪些功能更适合你的问题,那么回答问题就更容易了,而不只是陈述意见“好吧,我更喜欢这个…”你应该使用Neo4j,我第一次尝试使用OrientDB,但它的所谓SQL中有许多错误,但Neo4j解决了我的所有问题Shazelcast链接很棒。我们正在工作中迁移到hazelcast,我正在努力让我们采用OrientDB。@Greg McCarvell OrientDB几乎唯一的功能就是(扩展)查询SQL。它只是不适合,甚至与RDBMS的混乱,但使用它作为一个DBMS,这是非常不同于它的设计是有点不方便。查询lang使OrientDB变得不那么容易接近,即使有人说它由于事先熟悉SQL而减少了学习曲线。由于图形中的思维不同于表和联接中的思维,也不同于建模各自类型的数据,声称查询也应该如此是非常直观的。而今天查询OrientDB是不直观的。mr@greg lieng这里的问题是,对于php和其他许多web开发语言来说,没有什么比稳定的驱动程序更适合了。@RavinderPayal我完全同意。OrientDB is发布了两个版本,不用费心测试其“官方”python驱动程序,以确保它们正常工作。作为一个新用户,我怎么可能是唯一一个注意到这一点的人呢?我知道“类似SQL”的查询语言应该是OrientDB的优势,但这是一个错误的工具用于错误的工作的例子。由于需要所有的黑客来保持它的SQL语言,它几乎无法识别,当然也不会比为Neo4j学习Cypher更容易。在我看来,这真是一团糟。但是,我确实喜欢它在Neo4j上的文档存储功能。我的公司需要在Neo4j和OrientDB之间进行选择,Neo4j的学习曲线要小得多(即使许可证的价格曲线更陡)。