【游戏数据库】大型网络游戏数据库设计方面讨论?(微软平台) 游戏数据库

日期:2015-10-23热度: 311 ℃推荐: 0

id="iframeu2586282_0" src="http://pos.baidu.com/qcbm?sz=650x125&rdid=2586282&dc=2&di=u2586282&dri=0&dis=0&dai=2&ps=202x253&coa=at%3D3%26rsi0%3D650%26rsi1%3D125%26pat%3D6%26tn%3DbaiduCustNativeAD%26rss1%3D%2523FFFFFF%26conBW%3D0%26adp%3D1%26ptt%3D0%26titFF%3D%2525E5%2525BE%2525AE%2525E8%2525BD%2525AF%2525E9%25259B%252585%2525E9%2525BB%252591%26titFS%3D14%26rss2%3D%2523000000%26titSU%3D0%26ptbg%3D90%26piw%3D150%26pih%3D100%26ptp%3D0&dcb=BAIDU_SSP_define&dtm=BAIDU_DUP_SETJSONADSLOT&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1461060501886&ti=%E3%80%90%E6%B8%B8%E6%88%8F%E6%95%B0%E6%8D%AE%E5%BA%93%E3%80%91%E5%A4%A7%E5%9E%8B%E7%BD%91%E7%BB%9C%E6%B8%B8%E6%88%8F%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1%E6%96%B9%E9%9D%A2%E8%AE%A8%E8%AE%BA%3F(%E5%BE%AE%E8%BD%AF%E5%B9%B3%E5%8F%B0)_%E6%B8%B8%E6%88%8F%E6%95%B0%E6%8D%AE%E5%BA%93-%E7%89%9Bbb%E6%96%87%E7%AB%A0%E7%BD%91&ari=1&dbv=2&drs=1&pcs=1477x545&pss=1477x223&cfv=17&cpl=6&chi=1&cce=true&cec=GBK&tlm=1461060502&ltu=http%3A%2F%2Fwww.niubb.net%2Farticle%2F2062833-1%2F1%2F&ltr=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3D77DWVTwgZQV0cvrQiRSJH5Q93tWTpn4QUw3pw_Ztz18QQFyGfzpaFK1Fjg5aF1JJTBFt2FLVgV6cA3EI9MLxcq%26wd%3D%26eqid%3Dac3990a7000297860000000357160086&ecd=1&psr=1920x1080&par=1920x1019&pis=-1x-1&ccd=24&cja=true&cmi=8&col=en-US&cdo=-1&tcn=1461060503&qn=a6c667f29ab99d57&tt=1461060501839.767.855.856" width="650" height="125" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="padding: 0px; border-width: 0px; border-style: initial; vertical-align: bottom; margin: 0px;">

数据库设计上大家有什么经验交流下,我初步想法是所有数据库写进一个原始的数据库服务器(MSSQL2000),然后用SQL的复制功能同步几个镜象数据库服务器,当执行查询的时候,程序自动分流在不同镜象数据库里查询数据.不过这方案的问题在于原始数据库的写操作数据量可能存在瓶径,数据量过大冲击,原始数据库万一撑不住.系统就瘫痪了.(大家按10万在线的游戏考虑下,给点建议)

希望大家别给我说到LINUX去,我不懂LINUX


其实问题在于你的内存,数据写入的时候将先进入内存。如果你的内存是8GB,你并不能把所有的内存全部分配给数据库,起码留500MB给操作系统,这样就不会产生死锁现象,系统基本上不会滩掉了,关于数据分配内存在查询分析器里面用语言实现,语言如下:

EXECsp_configure'maxservermemory',在这个后面就是你想分配的内存。


不一定需要采用镜像,采用分布式数据库系统,将数据表进行分区,分区后的数据分别存放在不同的数据库服务器上,通过分区视图关联。写数据时并非对每一个数据库进行写操作,而是将I/O也分流到了多台数据库服务器上。


不做镜象是不可以的,对于玩家来说数据是非常重要的,如果你的数据丢了,玩家就不可能在玩你的游戏了。如果不做镜像,硬盘坏了,那就彻底的玩完了。


为什么不考虑多个服务器,多个数据库呢(分布式)?

将玩家分配由不同的服务器来支撑,你有10台服务器,10万玩家的话,一台服务器只需要应付1万玩家.

通过在每台服务器上建立其他服务器的数据库做为备份(可能事务传送),就可以实现每台服务器上均有其他9台数据库的数据,而且一台服务器上的数据被9台服务器备份.

通过在每台服务器建立分区视图来合并所有数据库中的表,就可以实现在任意一台服务器上可以检索出数据.


libin_ftsafe(子陌红尘)大哥说的听起来好象很可行不过对数据库方面不精通只懂些SQL语句和基本的,有没详细实现方式麻烦给下,谢谢

xioaxiaobingyuxue(雨学)说的主要是控制内存分配,但是I/O读写好象也是数据库最大的瓶径,内存分配可以解决数据量大的查询,但是好象写的时候磁盘才是问题关键吧?

zjcxc(邹建)说的没搞懂你的方法和我不同是数据库服务器之间任意一台修改了其他服务器都可以同步吗?是这意思不?


昨天有个朋友给的方案是直接把经常用的数据放到内存处理,不直接操作数据库,这方案以前好象看过在哪,应该算比较可行.有没人继续讨论?


我指的是一个服务器只承受部分用户的处理

看看联机帮助上的分布式分区视图会对你有帮助.

放在内存中比较恐怖吧?首先要求你的内存大,其实要求你的服务器够稳定,因为内存的数据的话,如果电脑有一点问题都可能出事,而内存够大的话,频繁虚拟内存物理内存的切换也得不偿失.


明白你的意思了不过这样设计其中1服务器出问题好象部分用户就要受影响了?

放在内存中主要是这样的过程:1个用户登陆进来就从数据库读数据放到内存中,然后更新只更新内存数据,定期把内存数据写入数据库,用户退出时候也写入数据库,从内存中销毁此用户数据.服务器故障肯定要丢失一段时间的数据不过丢失不是很严重


大概你没用过日志传送功能吧?

如果你用过,你就知道,主服务器出故障时,其实可以立即启用备用服务器来代替损坏的服务器进行工作,所以不会受影响.

牛bb文章网欢迎您转载分享:http://www.niubb.net/article/2062833-1/1/

【游戏数据库】大型网络游戏数据库设计方面讨论?(微软平台) 游戏数据库相关推荐

  1. 三国杀java游戏_计算机毕业课程设计源码-131Java三国杀游戏控制台版本

    file://C:\Users\Administrator\Desktop\Java三国杀游戏控制台版本 (1 folders, 3 files, 43.90 MB, 44.11 MB in tota ...

  2. ios android游戏,你更喜欢哪个?iOS与Android平台游戏大比拼

    Android和iOS经过几年的变化,逐渐形成了两分天下的格局.而这两个平台的对比,也成为了热门话题,虽然两个平台有着各自鲜明的特点,比如,安卓的开源拥有更多免费的游戏软件,而iOS系统优化是游戏更加 ...

  3. 数据库管理系统设计Java源代码_《数据库应用》课程设计人事管理系统(java源代码)...

    <数据库应用>课程设计人事管理系统(java源代码) <数据库应用>课程设计人事管理系统(java源代码) <数据库应用>课程设计--人事管理系统(java源代码) ...

  4. 转载:网络游戏外挂设计深度探索

    网络游戏外挂设计深度探索 网络游戏的繁荣使它的"寄生虫"--外挂也迅速繁荣起来,进而形成了一种畸形产业,不少开发高手在这里找到了所谓的"第一桶金".由于外挂,游 ...

  5. python小游戏课程设计报告_贪吃蛇游戏课程设计报告

    贪吃蛇游戏程序设计 一.课程设计任务 贪吃蛇小游戏程序设计 二.设计要求 通过游戏程序设计,提高编程兴趣与编程思路,巩固 C 语言中所学的知识,合理的运 用资料,实现理论与实际相结合. ( 1 ) . ...

  6. Unity与C#创建一个3D平台游戏 Learn to Create a 3D Platformer Game with Unity C#

    游戏开发变得容易了.使用Unity学习C#并创建您自己的3D平台! 你会学到什么 学习现代通用编程语言C#. 了解Unity中3D开发的功能 发展强大的可转移的解决问题的技能 了解游戏开发过程 了解面 ...

  7. 微软云游戏服务器,微软:云游戏服务Project xCloud将扩展游戏服务的数量和地区...

    微软:云游戏服务Project xCloud将扩展游戏服务的数量和地区 2019年05月25日 18:02作者:陈莹编辑:杨晓文章出处:泡泡网原创 分享 微软发布消息称,预计将在E3 2019展会期间 ...

  8. java计算机毕业设计HTML5游戏网站设计与实现源码+mysql数据库+系统+lw文档+部署

    技术栈 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:Layui.HTML.CSS.JS.JQuery等技术 后端技术:JAVA 运行环境:Win10.J ...

  9. java计算机毕业设计HTML5互动游戏新闻网站设计与实现源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计HTML5互动游戏新闻网站设计与实现源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计HTML5互动游戏新闻网站设计与实现源码+mysql数据库+系统+lw文档 ...

  10. 大型系统架构设计-阿里淘宝天猫双十一数据库核心技术介绍

    目录 零.双十一是什么? 一.2013 双十一数据库指导思想 1.知己知彼,百战不殆 (1)如何做到知己 (2)如何做到知彼 2.平时多流汗,战时少流血 (1)真实环境压测之缓存穿透 (2)MetaQ ...

最新文章

  1. SWIG,C#沟通C++的桥梁
  2. apt的通讯信道是如何发现的?
  3. python遍历目录树_在Python中遍历目录树的速度要快得多?
  4. 如果一个c语言float型变量被赋予初值,计算机组成原理B.doc
  5. python中if __name__ == __main__的解释
  6. Winform界面中实现菜单列表的动态个性化配置管理
  7. 用c#转换word或excel文档为html文件,C#实现DataSet内数据转化为Excel和Word文件的通用类完整实例...
  8. Kaspersky Security Center部署
  9. matlab t分布 反函数,Excel 应用TINV函数计算学生的t分布的反函数
  10. 全球云服务商排名情况及国内云主机市场占有率份额排名对比
  11. [每日一氵] mmSeg 报错 StopIteration
  12. C# 实现解答数独功能
  13. Prometheus安装配置及其相关组件的应用
  14. plotly系列| 使用plotly在地图上绘制散点图和密度图
  15. 单片机原理与应用-51
  16. 产品经理和软件工程师的职能划分
  17. Factory IO仿真工厂与西门子博途软件联动仿真
  18. python界面小游戏贪吃蛇_用Python实现童年小游戏贪吃蛇
  19. 看互联网将如何颠覆这17个传统行业
  20. c语言用二维数组查找负数,[抄道题] 在二维数组中找某数

热门文章

  1. jupyter notebook 拒绝连接 以及 查 IP
  2. 3分钟教会你Graylog收集Windows主机日志
  3. DT财经:2018北京城市大数据活跃报告
  4. 程序员的代码注释需要写么?
  5. 鼠标划动网页或者窗口时进度条总是上下乱跳,有可能是你的上下按键坏掉了
  6. 如何用最简单的方法创建一个超好用的微信公众号页面模板?
  7. 2022.6.28 JCR最新发布(期刊影响因子)
  8. 计算机里面的管理工具在哪,电脑的资源管理器在哪
  9. 2021/10/15 考试总结
  10. Verilog语言注意事项——always