当前位置: 首页 > 面试题库 >

Farmville等在线游戏使用什么数据库?

洪俊能
2023-03-14
问题内容

除了图形功能外,在线游戏还应具有简单的关系数据库结构。我很好奇在线游戏喜欢FarmvilleMafiaWars使用什么数据库?

对这样频繁编写的程序使用基于SQL的数据库是否可行?
如果没有,那么如何在这些游戏中存储用户的相关性呢?

编辑:
如前所述,他们使用NOSQL数据库,如Couchbase。NOSQL快速且具有良好的并发性(这里确实需要);但是排序大小要大得多(由于键/值结构)。1.它是否会减慢系统速度(因为我们需要从磁盘读取大型数据库文件)?2.我们将非常有限,因为我们没有JOIN连接不同数据集的SQL


问题答案:

回答您的编辑:

您可以通过使用非键=>值存储(例如MongoDB)来减小存储大小。这仍然有一些开销,但是比尝试维护键=>值存储要少。

它不会严重降低系统的速度,因为有许多NoSQL产品是通过内存映射的,这意味着与SQL不同,它不会直接进入磁盘,而是进入fsync队列,然后在方便时写入磁盘。对于那些没有内存映射的NoSQL解决方案,它们具有极快的读/写速度,这通常是在两者之间进行权衡的情况。

对于JOIN,这是一种以可以避免大型联接的方式安排模式的情况。使用小型联接进行联接时,具有分数记录的用户很好,但是聚合联接将是一个问题,您需要找到其他解决办法。各种NoSQL产品的许多用户组提供了许多解决方案。



 类似资料:
  • 本人211本,计科专业,有一段游戏小厂实习经历,不过不是策划而是客户端开发 一面 主策面 线下,半个小时 1. 自我介绍 2. 喜欢玩什么类型的游戏,为什么 3. 为什么不做程序了 4. 你觉得一个系统的策划案应该有哪些部分 5. 荒野大镖客2哪里做得好,吸引你的是什么 6. 荒野大镖客2的前期引导被很多人诟病,你觉得问题在哪,你会如何去改善 7. 如果让你来做一款横版闯关游戏的第一关,你怎么去做

  • 问题内容: 我有一个用于游戏的系统,但我不知道该怎么显示它。我正在制作垂直射击游戏,并且为控制敌人和玩家的所有类编写了方法,但是我不知道如何有效地显示游戏。我当时在想用一种Canvas,可以重新绘制每个帧,但这真的是最有效的方法吗? 重要细节: 理想帧率:25fps 这是一个2D游戏 屏幕上随时有25-100个对象之间的任何地方,所有这些物体都在移动 所有显示的对象均为图像,均为PNG格式 窗口为

  • 我想每秒运行一个函数60次。我更喜欢使用Util定时器,我认为这是一个非常简单的方法 但是我看到很多人使用游戏循环,它们更长更复杂。 抱歉,因为我并不真正理解gameloops,除了跟踪fps之外,使用它们还有什么好处吗?

  • 自我介绍 为什么选择做游戏测试。 写过测试用例吗?(写过) 针对游戏里面排行榜的功能,设计一下测试用例,包括玩家的头像、昵称、杀敌数、加入联盟这些。 有一个武将,他的技能可以增加带兵数,针对这个设计测试用例。 游戏测试和软件测试的区别。 面试官是个很漂亮温柔的姐姐,想测试用例的时候有点紧张卡顿,她说没关系你可以想一下,讲软件测试和游戏测试的区别的时候也给了提示和扩充,氛围很好不紧张。但是因为没有过

  • 问题内容: 我会明白为什么 需要新的线程;它适用于: 为什么我不能使用同一线程?一世: 将光标设置为WAIT(进入GUI队列) 做我的长任务…(它进入GUI队列,但我希望光标更改,即在队列中,它在此之前执行) 将光标重置为默认值(任务完成后) 那么,我的长任务不会进入MAIN队列吗?因为,如果它进入主队列,我希望它在我的WAIT游标首先插入队列之后执行。为什么会这样呢? 问题答案: 没有线程,您的

  • 数独游戏,游戏分三个难度来生成数独矩阵,有标记功能。关于挑战模式还没有实现。 [Code4App.com]