Database design 在表示游戏角色和/或精灵方面,最有效的模型是什么?

Database design 在表示游戏角色和/或精灵方面,最有效的模型是什么?,database-design,mongodb,cocos2d-iphone,Database Design,Mongodb,Cocos2d Iphone,我正在设计一款RPG风格的游戏,但是在存储数据方面,我希望使用最有意义的数据库建模/系统 我有一些选择: 类关系数据库(老式查询) 使用ORM的经典关系模型(原则2?) NoSQL/无模式数据库(无连接) 在我看来,ORM是最有意义的,因为你可以处理游戏对象,它们可以被数据库对象映射。然而,我愿意接受现有游戏开发者所使用的观点和实践 我将非常感谢您在这方面的反馈。为了获得最佳性能,我将使用DAO类、普通的旧查询和专门的数据对象,它们最适合您的需要。可能会变得非常复杂,但你可以控制一切。您可以

我正在设计一款RPG风格的游戏,但是在存储数据方面,我希望使用最有意义的数据库建模/系统

我有一些选择:

  • 类关系数据库(老式查询)
  • 使用ORM的经典关系模型(原则2?)
  • NoSQL/无模式数据库(无连接)
在我看来,ORM是最有意义的,因为你可以处理游戏对象,它们可以被数据库对象映射。然而,我愿意接受现有游戏开发者所使用的观点和实践


我将非常感谢您在这方面的反馈。

为了获得最佳性能,我将使用DAO类、普通的旧查询和专门的数据对象,它们最适合您的需要。可能会变得非常复杂,但你可以控制一切。您可以使用映射器类将游戏对象映射到数据库对象,反之亦然

ORM使用起来容易得多,但在性能和灵活性方面,做一些特殊的事情(有连接的目标查询和其他类似的事情)会有所损失。如果您的团队在开发没有ORM的数据库驱动应用程序方面经验不足,我也会选择它们


NoSQL可能也是一个不错的选择,但您的详细信息还不足以对其进行进一步的评论,尤其是因为与关系数据库相比,它有很多优点/缺点。在您的特定情况下,优势是否大于劣势是一个问题。

当我编写游戏时,上次我检查Real World[TM]games时,肯定没有附带嵌入式SQL DBs。你的RPG是单机版还是在线版?如果它是在线的,是否有一个集中的服务器,还是应该是点对点的?在任何情况下,精灵几乎总是在客户端呈现,并且在典型的游戏客户端中不涉及SQL。RPG将在线。它将有一个中央服务器。@SyntaxT3rr0r如果不是在线播放,我怀疑有人会选择PHP(教条2暗示了这一点;)@SyntaxT3rr0r当然,游戏中只有精灵/gfx和声音。没有需要持久化的状态或任何其他数据。收到,先生!不要喂巨魔。。。不要喂巨魔。