我目前正在制作MMORPG游戏,该游戏可能同时有数千名玩家在线(可能不是;只是一厢情愿)。首先,我们想使用MySQL,但是我听说它还不够快。
哪个DBMS足够快?它有多像SQL Server(就像我在学校学到的那样)?
我目前正在制作MMORPG游戏,该游戏可能同时有数千名玩家在线(可能不是;只是一厢情愿)。首先,我们想使用MySQL,但是我听说它还不够快。
哪个DBMS足够快?它有多像SQL Server(就像我在学校学到的那样)?
Answers:
这是一个很难回答的问题。您可以采用世界上最快的数据库平台,设计一个可怕的架构,围绕它编写一个糟糕的应用程序,然后很容易将其归咎于数据库平台。同时,您可以使用免费的SQL Server Express,并通过正确的设计,应用程序逻辑和合理的可伸缩性方法(例如,通过数据缓存扩展读取范围等),可以编写处理1000个以下内容的应用程序。用户没问题。
我相信SQL Server可以处理数千名用户吗?绝对。我相信Oracle和DB2也可以做到吗?当然。MySQL的?不确定,那里的经验不足。访问?可能根本不是明智的选择。如果您熟悉SQL Server,那么我建议您考虑采用这种方法,请记住,您对RDBMS的选择本身并不会决定成功或失败。
让我这样说,还记得2000年代初/中期的GameSpy Arcade吗?它运行了数千个游戏,并且都在SQL Server上运行,并且一次支持成千上万的用户(是的,我们在那里有多个SQL Server可以做各种事情)。这一切都与数据库的设计以及如何使用系统有关。正确执行此操作,您的项目将成功,错误执行此操作,您的项目将严重失败。
正确的答案在很大程度上取决于您要为其编程的平台。
碰巧的是,大约1.5年前有人在StackOverflow中针对特定平台问了这个问题。
无论是MySQL,SQL Server,Oracle,PostgreSQL还是其他一些RDBMS,您都必须在数据库基础结构方面非常有创造力。如果您有关于硬件的开放式支票簿和具有行业实力的DBMS,那么Oracle适合您(如果更希望使用Oracle RAC)。如果您使用IIS和Microsoft环境进行开发,则始终使用SQL Server。如果您有预算方面的问题,并且希望使用Oracle外观,则可以使用PostgreSQL。如果您有预算方面的问题,生动的想像力,并且想要按照自己的喜好对存储引擎进行微管理,以适应ACID要求,高速读取和各种复制体系结构,那么我会偏见地说MySQL。
对于MMORPG,DBMS应该是最少的后顾之忧。编程问题总会带来更大的鱼苗。因此,请谨慎,明智地做出决定,因为无论选择哪种DBMS,都必须使用它(与FaceBook必须与MySQL一起使用的方式相同)。
您可以看一下CUBRID。这是一个开源RDBMS,目前在韩国非常热门。假设对于拥有大量用户(他们说50k之类)的Web应用程序,效果最好/速度非常快。