Sim*_*eke 8 mysql rdbms database-design sql-server scalability
我目前正在制作一款 MMORPG 游戏,它可能有几千名玩家同时在线(可能不是;只是一厢情愿)。首先我们想使用 MySQL,但我听说它对于这种规模还不够快。
哪个 DBMS 足够快?它有多像 SQL Server(我在学校学过 SQL Server)?
Aar*_*and 24
这真是一个很难回答的问题。您可以使用世界上最快的数据库平台,设计一个可怕的模式,围绕它编写一个糟糕的应用程序,然后试图指责数据库平台。同时,您可以使用免费的 SQL Server Express,通过正确的设计、应用程序逻辑和合理的可扩展性方法(例如通过数据缓存扩展读取等),您可以编写一个应用程序来处理 1000用户没问题。
我相信 SQL Server 可以处理 1000 多个用户吗?绝对地。我相信 Oracle 和 DB2 也可以这样做吗?当然。MySQL?不确定,那里没有足够的经验。使用权?可能根本就不是一个明智的选择。如果您熟悉 SQL Server,那么我建议这是您考虑的路线,请记住,您选择的 RDBMS 本身并不会决定成败。
mrd*_*nny 12
让我这样说吧,还记得 2000 年代早期/中期的 GameSpy Arcade 吗?它运行了数以千计的游戏,并且都在 SQL Server 上运行并同时支持数万个用户(是的,我们有几个 SQL Server 在那里做各种事情)。这完全与数据库的设计以及您如何使用系统有关。做对了,你的项目就会成功,做错了,你的项目就会失败,很糟糕。
Rol*_*DBA 11
正确的答案很大程度上取决于您为其编程的平台。
碰巧的是,大约 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 一样)。
这不是正确的问题。您的游戏性能将取决于您选择的完整架构和技术堆栈以及它的实现方式。DBMS 只是堆栈的一个组件。我敢猜测 DBMS 不太可能成为性能的限制因素,除非您的架构设计得非常糟糕。您的域层、缓存以及您如何分发和扩展站点似乎是更重要的问题。
任何 RDBMS 都会随着规模而下降,具体取决于它的配置、扩展方式以及应用程序如何利用它。
我想,你有两个问题合二为一。第一个,“什么 DBMS 能够以有效的方式持久保存游戏数据。” (主观,恕我直言)第二个,“我如何扩展 DBMS 以执行 1000 多个用户?”
许多在线服务发现 MySQL 和 Memcached 的组合可以提供出色的性能和规模。但是,该解决方案也会失败。但是,它可能正是您所需要的。
越来越多的在线服务将 NoSQL 解决方案夹在其架构中。我对 CouchBase 有一些经验,发现它很有用。
归档时间: |
|
查看次数: |
4495 次 |
最近记录: |