gpt4 book ai didi

mysql - 用于 Rails 上的复杂浏览器游戏的 MongoDB 或 MySQL

转载 作者:行者123 更新时间:2023-12-01 00:14:48 24 4
gpt4 key购买 nike

我正在与一小群 friend 使用 RoR 实现一个基于浏览器的游戏,旨在部署在 Heroku 上。我们在 MySQL 上实现了与数据库有关的一切。然而,Heroku 的免费/廉价 MySQL 数据库共享且效率低下,并且没有中间级别;专用的对于我们的开始来说非常昂贵。因此,在考虑价格时,我们开始考虑所提供的 MongoDB 解决方案,这些解决方案更容易获得。

但是,我们的应用程序将有很多表,有很多关系和外键。例如,我们将有攻击表、这些攻击中出现的单位、 map 中的每个图 block 及其内部的内容等等。

因此,使用 MongoDB 会不会有任何性能问题或问题?我知道,虽然它可以在其收藏之间建立关系,但这并不意味着 100%,对吗?在我们负担得起专用数据库之前,我们应该坚持使用糟糕的共享 MySQL 数据库,还是不需要它们,我们可以坚持使用 MongoDB 而没有大问题?

考虑到我们会有很多查询和更新,而且所有这些都可能引用不同表/集合之间的关系。

最佳答案

我使用 mySQL 和 mongoDB 来处理不同的应用程序。

当我们使用面向对象的结构时,由于 mongoDB 的设计本质上是面向对象的,因此我们通常会在 mySQL 上使用 mongoDB。

当我们需要更多关系数据(例如用户配置文件、友谊和消息)时,我们会使用 mySQL,因为它绝对更适合关系数据。

我的团队发现使用 mongoDB 的第一周左右有点困难(因为大多数人已经习惯了 mySQL),但之后他们通常更喜欢使用它,例如不需要预定义模式,只需开始使用集合。 mongoDB 中的数据顺序必须比 mySQL 中的数据顺序更受尊重。所以你知道,我们正在为我们正在处理的当前应用程序使用带有 JSON 结构的 jQuery AJAX,而不是带有 mongoDB 的 PHP。

维护和管理明智,很多,但如果有人(我不是指名 Pablo)忘记索引某些东西,mongoDB 确实会更加困难。由于这个原因,我们确实在几周内遇到了 monogDB 服务器崩溃。我重新启动了服务器,再次崩溃,所以我不得不将所有流量重新路由到另一台即将上线的临时服务器,作为 mongoDB 的备用服务器,因为这一切都已到位,新服务器可以接管幸运的是,现有服务器暂时的位置。当我在没有查询的情况下启动服务器时,发现了问题,添加了索引,一旦我添加它并将其重新联机,处理器就从异常高变为正常,此后没有问题。

就我个人而言,我倾向于尝试更积极地使用 mongoDB,因为出现的问题可能比 mySQL 更严重,在我们崩溃的情况下,mySQL 可能会遇到缓慢但 mongoDB 在相同情况下确实崩溃了完全地。

虽然我喜欢它们,并且会在未来使用它们,但是正确的选择和做基础真的很重要,在我看来对于 mongoDB 更是如此。

我希望这个额外的见解能有所帮助。

关于mysql - 用于 Rails 上的复杂浏览器游戏的 MongoDB 或 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6613611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com