Bob Wiederhold:社交游戏使用NoSQL数据库的4个理由
时间: 2024-02-03 03:52:00 | 作者: bob线上平台官网
社交游戏是一个“成功的”行业。已制作出炉的社交游戏数量庞大,但真正把规模做大的并不多。每一个开发商的梦想就是让自己的游戏成为普及率最高、下载量最大、DAU(日活跃用户数)最多的游戏。
因此,选择一个合适的数据库对游戏的成功就格外重要了。许多数据库都能支持少量的DAU。但是,当游戏玩家暴涨时,最好能有一个始终传递高性能同时支持更大量DAU的数据库。否则,如果你的游戏会因不能拓展而被玩家抛弃,那么你制作出这么一款有趣的游戏的努力就付诸东流了。
因为性能和延展性的优势,NoSQL数据库慢慢的变多地用于社交游戏。但开源代码的NoSQL数据库项目似乎就像雨后春笋,在世界各地萌发,要从中做出选择可能是件棘手的工作。为社交游戏选择正确的NoSQL数据库可能十分艰难,因为有各种各样的分类,如key-value、文件和纵列等。但哪一类才是最适合社交游戏的呢?
key-value和文件型数据库能加强大多数NoSQL对社交游戏的资源配置能力,这很大程度上是因为它们平衡以下4个关键指标:
1、NoSQL支持高性能。文件和key-value数据模式在内存和硬盘(文件)的单一物理空间中保存有关数据。这使用户都能够始终快速地获取数据——避免读取和写入时时发生延迟。现在的游戏玩家不能忍受哪怕是最短的中断时间,否则他们就会认为程序很失败,然后就不会再使用了。你要寻找的就是一种可以稳定维持毫秒读取和写入的数据库。
2、NoSQL具有动态弹性。因为文件方法将记录保存在“单独的地方”(一个文件放在邻近的物理位置中),所以要从一个服务器把数据转移到另一个上,同时保持连贯性、不发生中断,就要容易得多了。为了使数据库的工作上的能力与程序的总体性能要求有效匹配,必须在服务器之间转移数据,数据库一定要能增加或移除群集。如此操作的同时又不中断游戏的收益流,这对游戏的盈利性有重要影响。只需轻轻点击一个按扭就把服务器添加到数据层中,不需要改变程序本身,你要寻找的就是这样的数据库。
3、NoSQL具有架构灵活性。虽然所有NoSQL数据库都具有架构灵活性,但key-value和文件型数据库在这方面的优势更明显得多。在增加新纵列和分类时,纵列型数据库仍然要维护。key-value或文件型数据库不需要数据库维护就能改变数据库架构。
4、NoSQL支持询问变更。用询问表现力(向数据库发问的能力,比如,“返回一份记录玩家于去年购买向日葵种子的所有农场的列表”)平衡架构灵活性往往是很重要的。文件型数据库在数据库层上提供索引和查询,而key-value型数据库只允许访问与给定键相关的数据记录。
如果你在考虑开发一款社交游戏,请考虑一下支持游戏成长的基础设施要求。正如我们所说的,管理社交游戏中的数据是最重要,也是很灵活的事。并行随机读取和吞吐率、数据格式灵活性都是NoSQL文体型数据库能应对的。你的数据库技术是最重要的基本的建设组成部分。