MongoDB + Neo4J vs OrientDB vs ArangoDB [英] MongoDB + Neo4J vs OrientDB vs ArangoDB

查看:123
本文介绍了MongoDB + Neo4J vs OrientDB vs ArangoDB的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正处于MMO浏览器游戏的设计阶段,该游戏将包括一些实时位置的图块地图(因此每个单元的图块数据)和一般的世界地图.我更喜欢游戏引擎将MongoDB用于持久数据世界.

I am currently on design phase of a MMO browser game, game will include tilemaps for some real time locations (so tile data for each cell) and a general world map. Game engine I prefer uses MongoDB for persistent data world.

我还将实现一个运输模拟(将在下面进行更多说明),该模拟基本上是一个Dijkstra模块,我决定使用图数据库,希望它会使事情变得更容易,因为Neo4j非常受欢迎.

I will also implement a shipping simulation (which I will explain more below) which is basically a Dijkstra module, I had decided to use a graph database hoping it will make things easier, found Neo4j as it is quite popular.

我对MongoDB + Neo4J的安装感到满意,但随后注意到OrientDB,其行为类似于MongoDB和Neo4J(两者兼有?),甚至为MongoDB和Neo4J提供了VS页面.

I was happy with MongoDB + Neo4J setup but then noticed OrientDB , which apparently acts like both MongoDB and Neo4J (best of both worlds?), they even have VS pages for MongoDB and Neo4J.

重点是,我听到了一些有关MongoDB丢失数据的恐怖故事(尽管不确定它仍然会丢失),而且我没有那么奢侈.对于Neo4J,我不是每年12K欧元的启动友好"成本的忠实拥护者,尽管我可能没有数百万个顶点的数据库. OrientDB似乎是一个可行的选择,因为使用一个数据库解决方案可能还会有一些机会.

Point is, I heard some horror stories of MongoDB losing data (though not sure it still does) and I don't have such luxury. And for Neo4J, I am not big fan of 12K€ per year "startup friendly" cost although I'll probably not have a DB of millions of vertexes. OrientDB seems a viable option as there may be also be some opportunities of using one database solution.

在那种情况下,一个合乎逻辑的举动可能是转移到OrientDB,但它的社区很小,而且tbh对此并没有太多评论,MongoDB和Neo4J是广泛使用的流行工具,我担心OrientDB是否是一次冒险.

In that case, a logical move might be jumping to OrientDB but it has a small community and tbh didn't find much reviews about it, MongoDB and Neo4J are popular tools widely used, I have concerns if OrientDB is an adventure.

我的第一个问题是您是否对这些数据库有任何经验/意见.

My first question would be if you have any experience/opinion regarding these databases.

第二个问题将是哪个图形数据库更适合运输模拟.二手数据库有望计算出从任何一个顶点到任何一个顶点的最便宜路线,并遍历它(经典的Dijkstra).但是还必须根据情况变化权重,例如"B国对A国实施禁运,因此任何来自A国的物品都无法通过B,XYZ地区发生洪水,因此无法进行陆路运输"等.该数据库预期会缓存结果.我希望顶点不超过1000个,但是边缘很多.

And second question would be which Graph Database is better for a shipping simulation. Used Database is expected to calculate cheapest route from any vertex to any vertex and traverse it (classic Dijkstra). But also have to change weights depending on situations like "country B has embargo on country A so any item originating from country A can't pass through B, there is flood at region XYZ so no land transport is possible" etc. Also that database is expected to cache results. I expect no more than 1000 vertexes but many edges.

如果问题有点模棱两可,请先感谢,并提前道歉

Thanks in advance and apologies in advance if questions are a bit ambiguous

PS:我在标题上添加了ArangoDB,但是tbh,没有太多机会来看看.

PS : I added ArangoDB at title but tbh, hadn't much chance to take a look.

截至2016年4月18日的最后在评估了对我的问题和开发策略的回答之后,我决定使用ArangoDB,因为他们的路线图对我来说更有希望,因为他们显然不打算添加大量的炒作功能.烤.

Late edit as of 18-Apr-2016 : After evaluating responses to my questions and development strategies, I decided to use ArangoDB as their roadmap is more promising for me as they apparently not trying to add tons of hype features that are half baked.

推荐答案

免责声明:我是OrientDB的作者和所有者.

Disclaimer: I am the author and owner of OrientDB.

作为开发人员,总的来说,我不喜欢那些隐藏成本并让您使用他们的技术一段时间的公司,一旦您紧紧抓住它,就开始要求钱.实际上,一旦您投入数月的时间来开发使用非标准语言或API的应用程序,您就会被搞砸了:付出巨额费用来支付或迁移该应用程序.

As developer, in general, I don't like companies that hide costs and let you play with their technology for a while and as soon as you're tight with it, start asking for money. Actually once you invested months to develop your application that use a non standard language or API you're screwed up: pay or migrate the application with huge costs.

您知道, OrientDB 对于任何用途(包括商业用途)都是免费.此外,OrientDB支持SQL(带有扩展名)之类的标准,主要的Java API是TinkerPop蓝图,即用于图数据库的"JDBC"标准.此外,OrientDB还支持克里姆林宫.

You know, OrientDB is FREE for any usage, even commercial. Furthermore OrientDB supports standards like SQL (with extensions) and the main Java API is the TinkerPop Blueprints, the "JDBC" standard for Graph Databases. Furthermore OrientDB supports also Gremlin.

OrientDB项目每天都有新的贡献者和用户在增长.社区组(寻求支持的免费渠道)是最活跃的社区在GraphDB市场中.

The OrientDB project is growing every day with new contributors and users. The Community Group (Free channel to ask support) is the most active community in GraphDB market.

如果您对GraphDB的使用有疑问,我的建议是获取更接近您需求的内容,然后尽可能多地使用标准.这样一来,最终的转换将不会产生太大的影响.

If you have doubts with the GraphDB to use, my suggestion is to get what is closer to your needs, but then use standards as more as you can. In this way an eventual switch would have a low impact.

这篇关于MongoDB + Neo4J vs OrientDB vs ArangoDB的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆