1998Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev]  World Persistence, flat files v/s DB v/s ?? -->
<!--X-From-R13: Oqnz Ivttvaf <avtugsnyyNhfre2.vasvpnq.pbz> -->
<!--X-Date: Wed, 25 Mar 1998 07:18:32 +0000 -->
<!--X-Message-Id: 199803250720.AAA25248#user2,inficad.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: Pine.LNX.3.96.980322122912.390B&#45;100000#mpc,dyn.ml.org -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:nightfall#user2,inficad.com">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00888.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00890.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00856.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00901.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00889">Author</A>
&nbsp;|&nbsp;<A HREF="#00889">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00889">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI>
<LI><em>Subject</em>: Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</LI>
<LI><em>From</em>: Adam Wiggins &lt;<A HREF="mailto:nightfall#user2,inficad.com">nightfall#user2,inficad.com</A>&gt;</LI>
<LI><em>Date</em>: Wed, 25 Mar 1998 00:20:18 -0700 (MST)</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:nightfall#inficad,com">nightfall#inficad,com</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
[Matt Chatterley:]
&gt; On Sat, 21 Mar 1998, Ben Greear wrote:
&gt; &gt; The game will need to update it's persistant storage very often
&gt; &gt; to make this feasible. 
&gt; &gt; I'm a little concerned about the performance hit on a DB, as I expect
&gt; &gt; this game server to bring a machine to it's knees anyway...
&gt; 
&gt; A point to remember: Have the game *constantly* saving *small* amounts of
&gt; data. Don't attempt to do what bases like PennMUSH do and dump a large
&gt; amount of data at a regular interval - this causes quite a few problems
&gt; (or rather, will if you are saving more than a few megabytes).

I never got around to trying that idea that came up here (I can't remember
who thought of it - maybe it was me) a while back, about having a parallel
process running which did nothing but take a snapshot of the DB every n
units of time and then dump them to disk in a leisurely manner.  This process
would not crash when your regular server would; instead it would just sit
there holding its latest snapshot.  When the server resurrected itself it
would request the DB snapshot back from the secondary process, and then
continue as normal.  Your disk writes could be as infrequent as you like;
I'd probably pass them to yet another process running at the lowest possible
priority, maybe even sending the data in chunked out spurts of like 500k.
But really, it shouldn't matter - short of the janitor tripping over the power
cord, the secondary process (which should, of course, never crash - a piece of
code that small should be easy to make bullet-proof) will just retain an
in-memory copy.  In theory you could update it as often as every ten seconds.

Naturally the only downside to this is that you essentially need double
the RAM, but I see this as a pretty small concession, considering the price
of memory these days.

Adam


</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<ul compact><li><strong>Follow-Ups</strong>:
<ul>
<li><strong><A NAME="00901" HREF="msg00901.html">Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</A></strong>
<ul compact><li><em>From:</em> Ben Greear &lt;greear#cyberhighway,net&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00812" HREF="msg00812.html">Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</A></STRONG>
<UL><LI><EM>From:</EM> Matt Chatterley &lt;matt#mpc,dyn.ml.org&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00888.html">Re: [MUD-Dev] META: Broken mail headers</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00890.html">Re: [MUD-Dev] Character development [was Re: ]</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00856.html">Re: [MUD-Dev] World Persistence, flat files v/s DB v/s ??</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00901.html">Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00889"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00889"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><STRONG>Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<LI><strong><A NAME="00826" HREF="msg00826.html">Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</A></strong>, 
Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Sun 22 Mar 1998, 20:00 GMT
<UL>
<LI><strong><A NAME="00829" HREF="msg00829.html">Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Sun 22 Mar 1998, 21:08 GMT
</LI>
<LI><strong><A NAME="00858" HREF="msg00858.html">Re: [MUD-Dev] World Persistence, flat files v/s DB v/s ??</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Mon 23 Mar 1998, 20:43 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00856" HREF="msg00856.html">Re: [MUD-Dev] World Persistence, flat files v/s DB v/s ??</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Mon 23 Mar 1998, 20:38 GMT
</LI>
<LI><strong><A NAME="00889" HREF="msg00889.html">Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</A></strong>, 
Adam Wiggins <a href="mailto:nightfall#user2,inficad.com">nightfall#user2,inficad.com</a>, Wed 25 Mar 1998, 07:18 GMT
<UL>
<LI><strong><A NAME="00901" HREF="msg00901.html">Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</A></strong>, 
Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Thu 26 Mar 1998, 04:54 GMT
<UL>
<LI><strong><A NAME="00917" HREF="msg00917.html">Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</A></strong>, 
Orion Henry <a href="mailto:orionZ#ix,netcom.com">orionZ#ix,netcom.com</a>, Tue 31 Mar 1998, 02:42 GMT
<UL>
<LI><strong><A NAME="00918" HREF="msg00918.html">Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</A></strong>, 
Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Tue 31 Mar 1998, 05:22 GMT
<UL>
<LI><strong><A NAME="00919" HREF="msg00919.html">Re: [MUD-Dev]  World Persistence, flat files v/s DB v/s ??</A></strong>, 
Nathan F Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Tue 31 Mar 1998, 18:23 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
</ul>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>