我正在为项目寻找合适的Graph DB。我测试了Neo4j并且非常喜欢它。但是AGPL许可问题让我有点失望(you can read about it here)。
然后我发现了一些声称OrientDB实际上更快的文章。但它们并不是最新的。您会找到here和here。它在Apache 2下获得许可,这很好。
所以我只想向stackoverflow的优秀人士询问你的意见。
感谢您的反馈!
答案 0 :(得分:28)
注意:我在OrientDB团队,我的观点肯定是倾斜的。我也是以一种非常随意的语气回答。
关于你的观点:
1)关于集群部署的主题,目前它甚至不是比较。 Neo4j是主从复制,它们表明它通常只适用于单位数节点部署,整个图必须属于一台机器。直接从他们那里听到:http://www.infoq.com/interviews/ian-robinson-neo4j?utm_source=infoq&utm_medium=videos_homepage&utm_campaign=videos_row1
OrientDB具有完全执行多主复制的能力(每个节点都可以接受读写),能够分片数据,使用集群智能地分发数据并自动执行分布式查询和事务。我们的CEO最近为hazelcast做了一个精彩的网络研讨会,展示了我们在这个领域的设置:http://hazelcast.com/resources/orientdb-hazelcast-memory-distributed-graph-database/
2)Apache 2.0是我们的社区许可,这是非常自由的。您甚至可以免费嵌入OrientDB社区版。 (A)GPL担心一些他们的封闭源代码会被污染。这可能是也可能不是威胁,但有时很难确定。我们的社区许可证功能非常丰富,包括完全分布式,多主复制和分片。
3)遍历关系是图数据库的重点。所以无论是Neo4j还是OrientDB都很适合你......在深度上达到2000级,它仍然具有高性能。
4)文档图形功能很棒,但你知道我会这么说。我们构建的产品是一个生产级系统,设计为完整的数据库而不是用作RDBMS或其他数据存储的补充的辅助数据库。
我在这里强大起来。但我有充分的理由。在过去的3周里,世界领先的科技公司的一个完整的开发团队一直在针对Neo4j测试OrientDB。对于他们非常苛刻的用例,出于各种原因,我们是更好的选择。金钱不是问题,我们用我们的技术赢得了业务。
把它拿走它的价值,我已经预先说明了我的偏见。根据我的经验,一旦你使用OrientDB,就不会回头了。如果您需要任何帮助,请告诉我们!