Bob Wiederhold:社交游戏使用NoSQL数据库的4个理由

社交游戏是一个“成功的”行业。已制作出炉的社交游戏数量庞大,但真正把规模做大的并不多。每一个开发商的梦想就是让自己的游戏成为普及率最高、下载量最大、DAU(日活跃用户数)最多的游戏。

因此,选择一个合适的数据库对于游戏的成功就格外重要了。许多数据库都能支持少量的DAU。但是,当游戏玩家暴涨时,最好能有一个始终传递高性能同时支持更大量DAU的数据库。否则,如果你的游戏会因不能拓展而被玩家抛弃,那么你制作出这么一款有趣的游戏的努力就付诸东流了。

因为性能和延展性的优势,NoSQL数据库越来越多地用于社交游戏。但开源代码的NoSQL数据库项目似乎就像雨后春笋,在世界各地萌发,要从中做出选择可能是件棘手的工作。为社交游戏选择正确的NoSQL数据库可能非常困难,因为有各种各样的分类,如key-value、文件和纵列等。但哪一类才是最适合社交游戏的呢?

zynga-chart(from devopsangle.com)

zynga-chart(from devopsangle.com)

key-value和文件型数据库可以增强大多数NoSQL对社交游戏的资源配置能力,这很大程度上是因为它们平衡以下4个关键指标:

1、NoSQL支持高性能。文件和key-value数据模式在内存和硬盘(文件)的单一物理空间中保存相关数据。这使用户可以始终快速地获取数据——避免读取和写入时时发生延迟。现在的游戏玩家不能忍受哪怕是最短的中断时间,否则他们就会认为程序很失败,然后就不再使用了。你要寻找的就是一种可以稳定维持毫秒读取和写入的数据库。

2、NoSQL具有动态弹性。因为文件方法将记录保存在“单独的地方”(一个文件放在邻近的物理位置中),所以要从一个服务器把数据转移到另一个上,同时保持连贯性、不发生中断,就要容易得多了。为了使数据库的工作能力与程序的总体性能要求有效匹配,必须在服务器之间转移数据,数据库必须能够增加或移除群集。如此操作的同时又不中断游戏的收益流,这对游戏的盈利性有重要影响。只需轻轻点击一个按扭就把服务器添加到数据层中,不需要改变程序本身,你要寻找的就是这样的数据库。

3、NoSQL具有架构灵活性。虽然所有NoSQL数据库都具有架构灵活性,但key-value和文件型数据库在这方面的优势更明显得多。在增加新纵列和分类时,纵列型数据库仍然需要维护。key-value或文件型数据库不需要数据库维护就能改变数据库架构。

4、NoSQL支持询问变更。用询问表现力(向数据库发问的能力,比如,“返回一份记录玩家于去年购买向日葵种子的所有农场的列表”)平衡架构灵活性往往是很重要的。文件型数据库在数据库层上提供索引和查询,而key-value型数据库只允许访问与给定键相关的数据记录。

如果你在考虑开发一款社交游戏,请考虑一下支持游戏成长的基础设施要求。正如我们所说的,管理社交游戏中的数据是最重要,也是很灵活的事。并行随机读取和吞吐率、数据格式灵活性都是NoSQL文体型数据库能应对的。你的数据库技术是最重要的基础建设组成部分。

via:游戏邦/gamerboom.com

感谢支持199IT
我们致力为中国互联网研究和咨询及IT行业数据专业人员和决策者提供一个数据共享平台。

要继续访问我们的网站,只需关闭您的广告拦截器并刷新页面。
滚动到顶部