有没有理由不使用OrientDB?

时间:2016-09-12 07:30:26

标签: mongodb neo4j nosql

我一直在试验许多noSQL数据库。我只是偶然发现了#39;在 OrientDB 上,它显然是文档存储(如 MongoDB )和图形数据库(如 Neo4j )的混合体。

我在一些博客中读到,OrientDB的表现至少与Neo4j一样好,甚至更好,同时还提供更复杂的类型,如MongoDB。

有没有理由选择MongoDB或Neo4j?捕获的是什么?我错过了什么?与将NeoDB与Neo4j结合使用MongoDB进行图形存储(例如,MongoDB中的用户数据,Neo4j中的关系)相比,它是如何比较的?

2 个答案:

答案 0 :(得分:27)

(免责声明:我是OrientDB项目的创始人)

即使大约50%的OrientDB用户使用OrientDB作为图形数据库(Neo4j的替代品),OrientDB背后的想法是构建第一个开源多模型数据库。 6年前,"多模型"并不存在,但现在像DataStax(Cassandra),MongoDB和CouchBase这样的DBMS供应商正在成为多模型,或者他们在未来宣布成为多模型。当然,这是对很久以前OrientDB创建的多模型概念的验证。

那就是说,一开始,OrientDB的目标并非只是"只是"一个超级稳定的图形数据库,而是试验多模型概念。因此,团队更专注于添加新模型(您可以将其视为功能),而不是让OrientDB坚如磐石,并且非常容易为初学者使用

但是,已有数千家公司与OrientDB合作。请查看Success StoriesPress,仅举几例。

从2.2版开始,OrientDB团队的优先级发生了变化:现在多模型概念已经稳定,现在是时候让OrientDB超级稳固了。如果您在2.2之前尝试过OrientDB,我建议给OrientDB v.2.2.x一个机会。为了帮助新用户,documentation也已针对初学者使用进行了改进。

OrientDB是完美的吗?没有DBMS没有错误,但与其他DBMS相比,OrientDB具有最低的错误之一。查看Let's Talk about OrientDB Stability, Code Coverage and Bugs(该帖子未更新:它报告了343个错误但是,今天检查,OrientDB项目的开放漏洞数量是254.我没有检查其他DBMS是否属于基准也改善了他们的数字。)

如果你已经有过使用Neo4j的经验,那么OrientDB应该很容易使用。如果您使用TinkerPop / Gremlin标准,OrientDB是替代品,否则,它需要一些工作,特别是将Cypher转换为OrientDB SQL(使用OrientDB MATCH运算符!)。许多用户已经从Neo4j切换到OrientDB,他们报告的性能相当甚至更好。

我的建议是:尝试OrientDB v2.2.x.如果它太复杂或者对您的用例不起作用,请不要立即删除它,但请先尝试在StackOverflow或Community Group上寻求帮助。

答案 1 :(得分:15)

主要原因:错误,很多错误。

次要原因:缺乏适当的文档。 上次我们尝试使用Orient时,在生产环境中无法大规模使用。 为什么?仅仅因为我们无法超越开发模式。我们甚至无法将其转移到测试中。 那些错误是什么? 您可以阅读有关所有这些的论坛或只是谷歌"错误" " orientdb&#34 ;. 话虽如此,这项技术看起来很有希望,而且当它更成熟时,我们可能会在两年内再接再厉。

为什么会有这么多错误?

就像有人说的那样,混合数据库是一个复杂的解决方案,有很多错误空间。这很难。

另一个方面是,东方试图建立太多的功能,而不是稳定和清理现有的功能。为什么他们这样做?我想这是公司估值和上市时间的问题。