什么类型的数据库将用于在网站和游戏服务器之间保留数据?

时间:2012-01-11 02:21:06

标签: mysql database

我正在制作一款在线游戏,我将主持游戏服务器。玩家将登录我的游戏服务器。然后他们将被带到大厅,在那里他们可以选择加入游戏。我将跟踪胜利和失败以及其他一些统计数据。

我的要求如下:

  • 在游戏中的任何时候,玩家都应该能够点击另一个玩家 玩家并获取他们最新的最新统计数据。
  • 玩家也应该能够访问我的网站并获得相同的信息 统计。 (理想情况下,立即更新,但不如重要 在游戏中)
  • 我还将有一个由数据生成的排行榜 网站。

我的问题是:在这种情况下通常使用什么类型的解决方案?

至关重要的是,我永远不会丢失数据。使用网站数据库让我担心的一件事是数据丢失。

我也不确定网站数据库和游戏服务器之间的交互是如何工作的。 mySQL是否有能力做这种事情?使用网站数据库的另一个问题是我每月要消耗多少带宽。我慷慨地估计,我会在任何时间在线有1000人。比赛持续约20分钟。

这些类型的情况通常如何解决?我看了一遍,但我还没有找到明确的答案。

由于

1 个答案:

答案 0 :(得分:0)

我会根据您的要求推荐一些东西。你的问题是非常开放的,所以给出的答案非常笼统:

  1. 数据库可以很好地存储数据,因为它们写入硬盘驱动器并且是事务性的(这意味着它们可以很好地承受Web服务器崩溃)。
  2. 可以使用众多备份工具中的任何一种备份数据库,例如:https://www.google.com/search?q=sql+backup&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
  3. 对于最新的统计数据,您可能应该从缓存中提取活跃的游戏玩家信息(否则当您的大部分数据不会发生变化时,您可能会发现自己正在敲击数据库(也就是说大多数游戏玩家可能处于脱机状态并且他们的数据将保持静止,但可能希望被查看。
  4. 调查您想要的数据库类型。 NOSQL或SQL。如果不评估每种方法的好处,就没有明显的选择。
  5. 调查N层或MultiTier设计。 http://en.wikipedia.org/wiki/Multitier_architecture
  6. 考虑某种类似云的基础设施,例如appfabric,azure,(还有其他的linux)等。有许多云服务可以提供高可扩展性。这可能是前几点的捷径。