Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Shannon Posniewski: SQL Considered Harmful for MMO's

Download

Right click “Save as…”

This is a recording of a session at the Game Developer's Conference given Shannon Posniewski, from Cryptic Studios. Shannon walks through the reasons why traditional relational databases simply don't scale to massive multiplayer online games.

Follow the Discussion

  • William Staceystaceyw Before C# there was darkness...
    I don't get this.  Sounds like a lot of work to create a binary serializer (already in .net) and reading/writing to a flat file.  As the objects are RW in memory and the db is behind a service and ACID was side stepped (or ignored when convenient) anyway.  You may as well had a worker thread doing the write-throughs from the object db to the db store with async messages.  This would give you at least as good ACID as what you have.  As you said, it is not the end of the world if 1 of my kills gets dropped because of a server or network failure.  The db msg server could be on same box or different box.  Sounds like you tried to create c-style version of Linq, but not really.  Not sure you explored using SQL enough before spending tons of time on something custom.

    Your writes need to be lazy anyway and the db is abstracted so it should not have mattered (to a point) what db tech was on the back end.  Using either method, you are always playing storage catch up with best effort. IMO, there was a way to make sql work and get all the bennefits of a sql backend (i.e. tooling, query, etc.) 
  • figuerresfiguerres ???
    Skimming over this it sounds like they do not know how to really use a sql database.

    you have to balance normal form Vs. Perf.  you have to know how to setup indexes, you have to know how to use stored procs and indexed views and so on....

    sounds like a lot of very bad info ....

    some truth in what he points out but most of the problems could have been fixed by a good design.

    sometimes it's amazing... Perplexed
  • ZippyVZippyV Fired Up
    They wanted to use Sql Server to store the contents of an entire virtual gameworld in real-time and they noticed the performance sucked. Perplexed

    They just gave the best example of how NOT to use a database.
  • Yoshihiro Masudaymasuda_ ymasuda_

    Beyond Theory of Database System

    For Microsoft Game development partners, advancing security solution of SQL Server 2008 must make Game developers business safe and stable because of its nature of "security by design". Theory behind relational database management has common context of developers knowledge, and advancing storage management takes implicit security solution of storage managers. Don't find logical advantages of database product, and get rid of business development practices of database in gaming industry.

    Feed to Gaming Industory from what Microsoft learned from SQL Server Database Business

    A question may pinpoint lengthy of "SQL Server database applications development cost, performance, security with comparison of other database platforms." Game developers industry may take risks with advancing development platform upon SQL Server 2008 security solutions. Let's support gaming industry with proper training investment of securing SQL Server product design.

  • There is allready a very popular MMO that uses MS SQL Server for it's data, EVE Online Smiley

    They just tune it really well, and running IO from a RamSan system kinda helps I think Wink

Remove this comment

Remove this thread

close

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.