[MUD-Dev] Re: Databases: was Re: skill system

J C Lawrence claw at under.engr.sgi.com
Mon Jun 22 15:51:25 New Zealand Standard Time 1998

On Thu, 11 Jun 1998 13:28:12 -0700 
Mike Sellers<mike at bignetwork.com> wrote:

> At 02:22 PM 6/11/98 -0500, jacob langthorn wrote:

>> Has any one tried using Orical or SQL to manage the data base for
>> the mud? If so what sorta luck did you have?

> My impression is that --for some really unaccountable reason-- mud
> developers have pretty much ignored the benefit of using existing
> databases and their tools.  

I've avoided classical stand-alone DB's to date due to process weight.
The MUSH/MOO-etc DB model is extremely lightweight in terms of DB
requirements, requiring very little more than fast ISAM support.  The
fact that until recently only BSD-style dbm derivatives (which fit the
above requirement) were the only things both well-known about and
well-distributed, helped.

Now that more complex DB models are becoming both commonly known about
(cf MySQL, Arjuna, CQL++ etc) I suspect the main stumbling block is
learning curve.  Historically hobbyest MUD programmers have been
college students in the process of learning to program.  Learning the
interface complexities of a full weight DB in addition to learning the 
basics is understandably daunting.

> A lot of the hard problems in mudding (e.g. dragon's dinner) have
> been resolved a long time ago in the button-down db world.  

True-ish.  There are many possible solutions to the dragons dinner
scenario, each with their own pros and cons depending on your process
and data model.  There is no single one-true-solution.  (Lambert can
speak better on this area than I).  cf the discussion between lambert
and I on the performance characteristics of my lockless approach vs
his lazy lock approach.  Both work, and can be logically proven to
work.  They just perform differently.

I played with using PostgresQL as a server base a while ago when I was
reviewing the various free DBs.  Its not light weight -- the added
overhead was more than I would accept.  I steered clear ot MySQL then
as it was (then) both buggy and very incompleat.

> Any good DB is going to be worthwhile for anything larger than the
> smallest muds.

There is some debate whether an RDBMS is either a vlid or useful model
for a MUD server or game world.  This argument seems especially
prevalent in the heavily-programmed-world camps (Reese being a
specific espouser of RDBMes being poor models).   

> Oracle is overkill unless you're talking about thousands of
> concurrent players.  An SQL-accessible DB might well be useful, but
> at the very least an external, free-standing, well-formed database
> is going to help a lot with changing informational needs over time.

It seems that I need to bolster my skill set (work and locale changes
etc (looks like I might be changing countries again and OS vendors are
not common outside of Silicon Valley)), so I'm going to be moving
Murkle from OS/2 to Linux (need to learn pthreads and play with SMP
issues), and move it atop an SQL base (need to learn SQL).  As I'm
also beating up on the web end of things, a web interface to Murkle
will be implicit.


And I was having so much fun with peristent stores.  I got out of the
commercial DB game back when Byte (RIP) did their first article on SQL 
(to which I thought, "And people think this is usable?  Ha!").  It
will be interesting to see what has changed.


I'll be reporting here on progress, challenges, and notable battles
here as they happen.  I'll probably also finally open the damn thing
to the public.

J C Lawrence                               Internet: claw at null.net
(Contractor)                               Internet: coder at ibm.net
---------(*)                     Internet: claw at under.engr.sgi.com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...

More information about the MUD-Dev mailing list