[MUD-Dev] Is database access a bottleneck?

Dave Rickey daver at mythicentertainment.com
Fri Dec 13 00:05:17 CET 2002


From: "Derek Licciardi" <kressilac at insightBB.com>
> From: bradley newton haug

>> Okay, I'm sorry no...

>> A flat file is not faster than a database.  In some isolated
>> cases it can be, like cookie recipes and files under a meg in
>> simple applications.  This fact is as old as databases
>> themselves.  I am of course assuming that you save the files at
>> some point.  In which case there isn't a single circumstance in
>> which flat files are faster, period.

> As an Oracle DBA and a SQL Server 2K DBA, I always find it
> interesting when the MMO crowd turns around and says MySQL or a
> flat file system is the better solution.  I like to read that as,
> "My executives didn't think that the data that supports our world
> was valuable enough so we cut costs."  When you think about the
> data that serves UO, EQ, and the rest of them and place it next to
> the list of important things to your customer base, it should be
> clear that your data is THE most important piece of the
> architecture.  I would bet the patch serving and file management
> systems of many MMOs are smarter and far more evolved than the
> databases.

Before we get too smugly superior here, I need to point out that
only some of the system is flat files, things that are written to
rarely and retrieved frequently (and nearly never on the Live
machines).  The system has grown over the course of many years, and
the core of it pre-dates anything remotely resembling the kind of
speed and reliability you see in modern DBMS systems.  It is, at the
heart, the continuation of the Tempest engine that Rob Denton
started writing more than a decade ago.  It uses flat files when
those flat files genuinely are a preferrable option.

You don't get faster and lower-overhead than a pre-cached flatfile.
I say this as a former DBA and client-server programmer of some
experience myself.  Although I can (and have) imagine systems based
on high-performance database engines, I have also worked out that
they would require several times as much hardware for the same level
of real-time performance.  They'd probably be more scalable, but
since nobody else seems to be able to support as many players on one
commodity box as we do (our servers come straight out of the Dell
catalog), what we have seems to be scalable enough.

MySQL is not used for anything mission-critical, it stores data that
is used to display character and guild information on the Camelot
Herald, and never gets near real game data.  It is very well suited
for such an application, giving performance well above that we could
get on the same hardware from Oracle, MSSQL Server, or PostGres.
The price is also right, if I could tell you the terms Oracle quoted
for a liscense, your jaw would drop.  It's not nearly as reliable,
but as I said, it's not used for anything mission-critical.

I might add, I know that UO and EQ both use "name brand" DBMS
systems (or at least did at launch) and it has caused them
tremendously more trouble than we have ever had, mostly because of
an inability to handle bursting loads and large amounts of fallow
data.

--Dave


_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list