pro*_*uli 45 dijkstra mongodb neo4j orientdb arangodb
我目前正处于MMO浏览器游戏的设计阶段,游戏将包括一些实时位置的瓦片地图(因此每个单元格的瓦片数据)和一般世界地图.我更喜欢使用MongoDB进行持久数据世界的游戏引擎.
我还将实现一个运输模拟(我将在下面详细解释),它基本上是一个Dijkstra模块,我已经决定使用图形数据库,希望它能让事情变得更容易,因为它很受欢迎.
我对MongoDB + Neo4J设置感到满意,但后来注意到了OrientDB,它看起来像MongoDB和Neo4J(两者都是最好的?),甚至还有MongoDB和Neo4J的VS页面.
重点是,我听到一些关于MongoDB丢失数据的恐怖故事(尽管不确定它仍然存在)并且我没有这样的奢侈品.而对于Neo4J,我不是每年12K€的"忠实启动"成本的忠实粉丝,尽管我可能没有数百万的顶点数据库.OrientDB似乎是一个可行的选择,因为可能还有一些使用一个数据库解决方案的机会.
在这种情况下,一个逻辑移动可能会跳转到OrientDB,但它有一个小社区,并且没有找到很多关于它的评论,MongoDB和Neo4J是广泛使用的流行工具,我担心如果OrientDB是冒险.
我的第一个问题是,如果您对这些数据库有任何经验/意见.
而第二个问题是其图形数据库是一个航运仿真更好.使用数据库有望计算从任何顶点到任何顶点的最便宜路线并遍历它(经典Dijkstra).但也必须根据"国家B对国家A禁运的情况改变权重,因此任何来自A国的物品都不能通过B,在XYZ地区有洪水,因此无法进行陆路运输"等.此外,该数据库预计会缓存结果.我希望不超过1000个顶点,但边缘很多.
如果问题有点含糊,请提前致谢并提前道歉
PS:我在标题上添加了ArangoDB,但是没有太多机会去看看.
截至2016年4月18日的后期编辑:在评估了对我的问题和发展策略的反应之后,我决定使用ArangoDB,因为他们的路线图对我来说更有希望,因为他们显然没有尝试添加大量半炒的炒作功能.
Lvc*_*vca 43
免责声明:我是OrientDB的作者和所有者.
作为开发人员,一般来说,我不喜欢隐藏成本的公司,让你玩一段时间的技术,一旦你紧张,就开始要钱.实际上,一旦您花费数月时间开发使用非标准语言或API的应用程序,您就会搞砸:以巨大的成本支付或迁移应用程序.
您知道,OrientDB可以免费使用,甚至是商业用途.此外,OrientDB支持SQL(带扩展)等标准,主要的Java API是TinkerPop蓝图,即图形数据库的"JDBC"标准.此外,OrientDB还支持Gremlin.
OrientDB项目每天都在与新的贡献者和用户一起成长.社区小组(免费提供支持的渠道)是GraphDB市场中最活跃的社区.
如果您对使用GraphDB有疑问,我的建议是获得更接近您需求的内容,然后尽可能多地使用标准.通过这种方式,最终的开关将具有低影响.
Max*_*fer 39
听起来好像您的用例正是ArangoDB的设计用途:您似乎需要在同一个应用程序中使用不同的数据模型(文档和图形),甚至可能希望在单个查询中混合使用它们.这就是像ArangoDB这样的多模型数据库.
如果到目前为止MongoDB已经为您提供了很好的服务,那么您将立即对ArangoDB感到满意,因为它的外观和感觉非常相似.此外,您可以通过将顶点存储在一个(或多个)集合中,并将边缘存储在一个或多个所谓的"边集合"中来建模图形.这意味着单个边缘本身就是文档,可以保存任意JSON数据.然后,数据库提供遍历,可使用JavaScript进行自定义,以满足您的任何需求.
对于查询的变体,您可以例如将有关这些embargos的属性添加到顶点,并对查询/遍历进行编程以将这些考虑在内.
ArangoDB数据库根据Apache 2许可证授权,社区和专业支持随时可用.
如果您有任何更具体的问题,请不要犹豫,在谷歌小组中询问
https://groups.google.com/forum/#!forum/arangodb
或联系
黑客(at)arangodb.org
直.
Mic*_*ger 13
Neo4j的定价实际上非常灵活,所以不要被网站上的价格所抵消.您也可以长时间使用社区版或个人版.
Neo4j社区非常积极和乐于助人,可以快速为您的问题提供支持和帮助.我认为除了性能和便利之外,这是最大的优势.我一般使用图模型
关于你的用例:
Neo4j完全被世界上最大的物流公司之一用于这种路线计算方案,在全国范围内每秒最多可以运送4000个包裹.
它用于其他游戏引擎,例如GameSys用于游戏经济模拟,另一个用于路由(不是在地球坐标中,而是在使用Neo4j-Spatial的游戏世界坐标中).
我很好奇为什么你只有那么少的节点?那些像运输门户网站?我想知道你在哪里存储细节和路线的动态(比如你提到的标准)它们来自外部 - 在游戏引擎的记忆状态下?
您可能应该分享有关模型和具体用例的更多详细信息.
并且知道我和Neo4j的创始人之一Emil都是多用户地下城(MUD)的旧时代玩家可能会有所帮助,所以它绝对是一个接近我们内心的用例:)
归档时间: |
|
查看次数: |
26050 次 |
最近记录: |