网络游戏中,数据主要是玩家属性。
由于玩家属性是经常变化的,所以需要存储。
而玩家数据在设计时候,若是用关系数据库来做。玩家有多少属性,就对应多少字段。显然这个设计存在问题。因玩家属性不是一个固定结构的,会经常增加变化。以此引申,采用非结构化存储是个很好的办法。
目前nosql数据库就能很好的满足,如cassandra、mongodb等。注意考虑到更新粒度问题,最好找能够针对列的更新,而不是整个玩家数据的更新。采用nosql 数据库时大部分偏向的是AP问题(CAP 3选2),所以不同以传统dbms ,一致性很好。在设计时,需要选其他方法来解决一致性问题。当然游戏中,对数据的要求,大部分也是偏向AP的。
采用nosql处理,海量、易扩展、安全是很大的优势。但是在游戏数据分析统计方面明显不行,所以说dbms也要用。设计时根据数据特点,灵活设计即可。
阅读(5273) | 评论(0) | 转发(0) |