[MUD-Dev] Comments on the DB layer
clawrenc at cup.hp.com
clawrenc at cup.hp.com
Thu May 8 10:58:12 CEST 1997
In <9705071500.7z9n at ami-cg.GraySage.Edmonton.AB.CA>, on 05/07/97
at 08:20 PM, cg at ami-cg.graysage.edmonton.ab.ca (Chris Gray) said:
>[Chris L:]
>:Now to go argue with myself and see if I really want some form of
>:query support for the DB. The appeal of having an admin able to do
>:something like:
>:
>: Show me all the users who killed mobile XXX in the last week,
>: cross referenced with a list of all the weapons and spells
>: they used in their successful attacks.
>:
>:is undeniable.
>Hmm. Methinks you are stepping beyond the bounds of what most people
>would think of as "a database to support a MUD system".
Yup. You bet.
>To do this
>you would have to never actually delete any database entity, so that
>all of the historical states are preserved. Your database would
>explode quickly!
My idea is to have the DB constantly trimmed back to a configured "max
age". That max age could be minutes, days, weeks, or even
months/years if you have enough disk space. This (obviously) time
limits the queries that could be done. but does also allow for a
certain level of recovery that is otherwise not possible.
eg:
A core object on which thousands of other objects depend
is accidentally deleted.
How do you recover?
>The next step of course is to not discard records
>produced by threads failing and being rescheduled - then you can find
>out how often you are getting "update conflicts" in your system.
Its easier to write a simple log for that sort of thing, indicating
rescedule rates and patterns of repeat offenders. Best case would be
to insert a generic callout that an admin client can plug into to
monitor what's going on and create/store/manage its own DB for the
events.
--
J C Lawrence Internet: claw at null.net
(Contractor) Internet: coder at ibm.net
---------------(*) Internet: clawrenc at cup.hp.com
...Honorary Member Clan McFUD -- Teamer's Avenging Monolith...
More information about the mud-dev-archive
mailing list