我正在开发一款游戏(类似国际象棋),每次移动都需要将每个动作保存到数据库中。
由于读取和写入速度都非常快,而且我不需要复杂的查询,所以我可能会使用NoSQL解决方案。
哪一个呢?我正在考虑MongoDB,但它的耐久性是一个问题吗?
如果一些游戏小说家被破坏,那么这不是世界末日,但如果经常发生则会出现问题。
建议?
感谢。
答案 0 :(得分:4)
几乎任何数据库技术都适用于您的场景。没有令人信服的理由(无论如何你已经给出了)推荐“NoSQL”风格的数据访问而不是任何其他技术。
答案 1 :(得分:0)
如果您的数据库有多个表,那么NoSQL不是启动表。我可以立即想到两个:位置和动作。
答案 2 :(得分:0)
上次我看过国际象棋游戏,你需要每5分钟大约插入一次。您可以使用LDAP服务器。但我当然不知道你的用例。
Mongo-db擅长于您希望随时间扩展信息的文档。它有一个很好的即席查询工具,并且相对快速,这意味着在同一台机器上的速度与mysql数据库一样快。
在第一个视图中,您的数据看起来高度结构化,因此文档的灵活性不会带来很多好处。
如果你有大量的记录(比如许多x10 ^ 6)那么它会显示出差异。
现在如果你想使用mongo-db,很好,你可能不会感到失望,但我认为这里没有令人信服的案例。
答案 3 :(得分:0)
我可以看到mongodb或couchdb的唯一优势是,您可以将整个匹配存储在一条记录中,从而使您的数据更简单一些。您不必在移动表和游戏桌之间进行传统的一对多映射。 CouchDB可能很有趣,因为它支持离线事务和纯静态接口,因此您的所有代码都可以是javascript。但您可能不希望您的用户直接与数据库连接!