Nosql OODBMS在游戏开发中目前的可行性是什么?

Nosql OODBMS在游戏开发中目前的可行性是什么?,nosql,rdbms,object-oriented-database,Nosql,Rdbms,Object Oriented Database,所以,我已经研究了很长时间了,但是我得到的结果似乎都已经过时了。我想知道与相当大的游戏(如MMORPG)相比,面向对象数据库管理系统(OODBMS)的当前状态如何,尤其是与关系数据库管理系统(RDBMS)相比 显然,数据模型将取决于相关数据(即参与者与世界国家,如货币等) 那么你的想法是什么?与RDBMS相比,OODBMS目前的优势是什么?RDBMS是否克服了十年前明显存在的一些困难,如可扩展性、性能和成本?让我们从关系数据库与对象数据库的一般性讨论开始,然后我们可以深入探讨使用对象数据库进行游

所以,我已经研究了很长时间了,但是我得到的结果似乎都已经过时了。我想知道与相当大的游戏(如MMORPG)相比,面向对象数据库管理系统(OODBMS)的当前状态如何,尤其是与关系数据库管理系统(RDBMS)相比

显然,数据模型将取决于相关数据(即参与者与世界国家,如货币等)


那么你的想法是什么?与RDBMS相比,OODBMS目前的优势是什么?RDBMS是否克服了十年前明显存在的一些困难,如可扩展性、性能和成本?

让我们从关系数据库与对象数据库的一般性讨论开始,然后我们可以深入探讨使用对象数据库进行游戏开发的具体细节

免责声明:我为Objective,Inc.工作,我们在那里建立并向客户销售一个大规模可扩展的对象/图形数据库

首先,正如您所观察到的,在一般情况下或在游戏开发中,对象数据库并没有像关系数据库那样被市场广泛采用。这是真的有很多原因,一些是技术性的,一些是非技术性的,但你可以把它归结为“足够好”和/或“足够便宜”的解释。对于人们每天需要解决的绝大多数问题,关系数据库“足够好”,并且有许多免费的开源关系数据库可用

客观地说,我们喜欢说我们有两种客户:杰出的和绝望的。我们卓越的客户明白,他们的数据太复杂,无法放入关系数据库。它们的数据模型可能包含难以在关系数据库产品中表达的类型继承,或者对象关系映射层的性能降低是不可接受的。用一把足够大的锤子,你总是可以把一个方形的钉子敲入一个圆形的孔中,但最终,如果性能很重要,我们卓越的客户会明白,他们需要选择一种符合其数据模型和性能要求的技术

我们不顾一切的客户通常是第二代开发人员,他们在第一个团队厌倦了试图把方形的钉子敲入圆形的洞后,出现在现场修复一个项目。这些人正在寻找提供高速数据持久性、导航查询和潜在分布式数据库的解决方案,以解决关键任务问题

我们的绝大多数客户使用我们的对象数据库有四个原因:

  • 数据库使他们能够轻松地为复杂数据建模
  • 数据库允许他们将对象链接在一起,然后以比关系数据库快几个数量级的速度导航这些连接
  • 该数据库是可分发的,可大规模扩展
  • 数据库的接收和查询速度都非常快
  • 今天,我们看到了图形数据库的戏剧性出现。我认为这是因为数据库中数据项之间的关系越来越重要。关系数据库之所以称为关系数据库,不是因为它们能够有效地处理关系,而是因为它们被设计为支持关系代数。对象和图形数据库是专门为支持对象之间的关系而设计的,通常在经过适当设计的对象/图形数据库中,在数十个或数百个节点和边(关系)之间导航时要快得多

    现在让我们讨论对象数据库在游戏开发中的适用性

    绝对没有理由认为对象数据库对于游戏开发来说不太好。客观性最初是作为工业CAD/CAM/CAE软件体系结构中的数据库。这是CAD、CAM和CAE这三个领域首次使用同一个数据库无缝地结合在一起。客观性已经并仍然被用于在三维CAD模型上运行复杂的模拟。在对象数据库中创建多维游戏世界要比在关系数据库中完成同样的任务自然得多。因此,是的,可以使用图形数据库构建MMORPG。您可以从在数据库中创建游戏世界开始。然后将所有玩家及其交互作为事件更新从游戏引擎管理到数据库。我们的产品有一个内存缓存功能,您只在内存中保存当前正在处理的数据库段。在一个MMORPG中,你可以有许多不同的服务器,它们都托管着游戏世界的不同部分,它们都可以在数据库的不同部分上畅通无阻地运行。这就是我们一些工业客户现在所做的