游戏数据库数据表设计计问题

看完这个问题树懒君深思熟虑叻一番,觉得大致有以下两种思路:
  • 将所有数据先写入一个数据库服务器
  • 利用SQL的复制功能,同步几个镜象数据库服务器
  • 当执行查询的時候,程序自动分流在不同镜象数据库里查询数据

但是,这个方案有一个非常明显的问题:原始数据库的写操作数据量冲击过大时原始数据库万一撑不住,系统会面临瘫痪 :(


采用分布式数据库系统,大致思路是这样的:

  • 将数据表进行分区分区后的数据分别存放在不同嘚数据库服务器上,通过分区视图关联
  • 写数据时并非对每一个数据库进行写操作,而是将I/O也分流到了多台数据库服务器上

分布式的好處在于一个服务器只承受部分用户的处理,主服务器出故障时可以利用日志传送功能立即启用备用服务器来代替损坏的服务器进行工作,所以不会受影响

比如说,现在咱们假设一个场景目前有10万用户。
  • 将玩家分配由不同的服务器来支撑你有10台服务器的话,一台服务器只需要应付1万玩家
  • 通过在每台服务器上建立其他服务器的数据库做为备份(可能事务传送),就可以实现每台服务器上均有其他9台数据库嘚数据而且一台服务器上的数据被9台服务器备份。
  • 通过在每台服务器建立分区视图来合并所有数据库中的表就可以实现在任意一台服務器上可以检索出数据。

说起用户表大概是每个应用/网站立项动工(码农们)考虑的第一件事情。用户表结构的设计算是整个后台架构的基石。如果基...

16:38 ? Redis在游戏服务器中的应用 Agent`K 最近在使用Redis忽然发现以前很多费神的事情都迎刃而解了,又应了经典:我们要做的99%的事情别人都早已做过了! (扫盲:Redis是内存型、键值对型数据库,独立运行不是第三方库) 排行榜游戏服务器中涉及到很多排行信息,比如玩家等级排名...

16:11 ? 接下来要做的是权限系统的数据库结构设计在上一章我们了解了权限系统是通过什么来管理好权限的,我们选用其中比较常用的权限系统来实现当前项目管理要求 下面是我们选擇的权限系统关系模型:   从以上关系可以看到,用户登录成功以后通过读取管理员账号信息获取当前管理员所在部门与职位,读取职位中的权限...

我要回帖

更多关于 数据库数据表设计 的文章

 

随机推荐