首页 > 解决方案 > OODBMS 在游戏开发中的当前可行性是什么?

问题描述

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

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

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

标签: nosqlrdbmsobject-oriented-database

解决方案


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

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

首先,正如您所观察到的,对象数据库在市场上作为关系数据库的采用率并不高,无论是在一般情况下还是在游戏开发中。出于多种原因,有些是技术性的,有些是非技术性的,这是正确的,但您可以将其归结为“足够好”和/或“足够便宜”的解释。关系数据库对于人们每天需要解决的绝大多数问题来说“足够好”,并且有许多免费的开源关系数据库可用。

在Objectivity,我们喜欢说我们有两种客户:杰出的和绝望的。我们杰出的客户明白,他们的数据过于复杂,无法放入关系数据库。可能是他们的数据模型包含难以在关系数据库产品中表达的类型继承,或者对象-关系映射层的性能下降是不可接受的。使用足够大的锤子,您始终可以将方形钉子敲入圆孔,但归根结底,如果性能很重要,我们出色的客户明白他们需要选择符合其数据模型和性能要求的技术.

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

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

  1. 该数据库使他们能够轻松地对复杂数据进行建模。
  2. 数据库允许他们将对象链接在一起,然后导航这些连接的速度比关系数据库快几个数量级。
  3. 该数据库是可分发的且可大规模扩展。
  4. 该数据库的摄取和查询速度都非常快。

今天我们看到了图形数据库的戏剧性出现。我相信这是由于数据库中数据项之间的关系越来越重要。关系数据库之所以称为关系数据库,不是因为它们能够有效地处理关系,而是因为它们旨在支持关系代数。对象和图形数据库专门设计用于支持对象之间的关系,并且通常在适当设计的对象/图形数据库中跨越数十个或数百个节点和边(关系)的导航速度要快得多。

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

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


推荐阅读