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

查看:29
本文介绍了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,我不太喜欢每年 12,000 欧元的启动友好"成本,尽管我可能不会拥有数百万个顶点的 DB.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 可能是合乎逻辑的举动,但它的社区很小,并且没有找到太多关于它的评论,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 还支持 Gremlin.

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天全站免登陆