<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: Of disk swapping, database structure & project management.. --> <!--X-From-R13: "Xba O. Znzoreg" <wyflfvapNvk.argpbz.pbz> --> <!--X-Date: from babe.globecomm.net [207.51.48.8] by mx3.ibm.net id 860824668.86116-1 Sat Apr 12 05:57:48 1997 --> <!--X-Message-Id: 199704120601.BAA17295@dfw-ix8.ix.netcom.com --> <!--X-Content-Type: text/plain --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: Of disk swapping, database structure & project management.</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:jlsysinc#ix,netcom.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> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00101.html">Previous</a> | <a href="msg00103.html">Next</a> ] Thread: [ <a href="msg00100.html">Previous</a> | <a href="msg00107.html">Next</a> ] Index: [ <A HREF="author.html#00102">Author</A> | <A HREF="#00102">Date</A> | <A HREF="thread.html#00102">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: Of disk swapping, database structure & project management..</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: "Multiple Recipients of MUD Design Mailing List" <<A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A>></LI> <LI><em>Subject</em>: Re: Of disk swapping, database structure & project management..</LI> <LI><em>From</em>: "Jon A. Lambert" <<A HREF="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</A>></LI> <LI><em>Date</em>: Sat, 12 Apr 1997 02:05:01 -0400</LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> > From: Greg Munt <greg#uni-corn,demon.co.uk> > Subject: Of disk swapping, database structure & project management.. > Date: Thursday, May 01, 1997 4:03 PM > > Has anyone experimented with swapping unused parts of the mud database to > disk, reading it back in when needed? What sort of format is it stored in > (eg binary, ASCII, etc)? Yes! Take a look a the COLD project for this in action. It works remarkably well. Their DB is binary, with a compression option. It uses NDBM as an indexing method,( a glorified? ISAM). It also uses an object caching mechanism that implements reference counting and writing of dirty objects. A backup mechanism is in place and works semi-asynchronously. Recovery of a corrupted database is not for the faint of heart. Practical use of the database by external applications is not likely. The DB can be decompiled and recompiled to ascii files. There are some good ideas here. I am working on similar ideas that involve integrating an object persistent store with a relational database. I use a different approach to the DB design. I map object prototypes to a DB schema and object instances to records within that schema. Inheritance structures are mapped into one-way ( child ->parent ) associations with referential integrity constraints in place. Normal object associations are navigable in both directions (similar to a double linked-list). Method code can only be associated with an object prototype at this time and is stored in an associated but separate schema. Once my language design matures this may not be the case. The inheritance tree of the exposed objects would best be described as wide and shallow. Cold and LPC have much deeper exposed inheritance structures. The bulk of my inheritance structure is embedded in the server and is accessed via "native" methods. As a rule, if a given object is an abstraction it most likely is not exposed in my server. Lest you think this means hard coded, this is not the case. There exists a configuration DB that contains all the attributes of the abstract objects (both implementation and policy details). It is loaded at startup and never swapped out. It is also generally static (rules of the game). It can be edited online and refreshed online. JL </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <!--X-Follow-Ups-End--> <!--X-References--> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00101.html">Re: Unique id's</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00103.html">Re: Unique id's</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00100.html">Re: Of disk swapping, database structure & project management..</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00107.html">Re: Of disk swapping, database structure & project management..</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00102"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00102"><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: Just a bit of musing</STRONG>, <EM>(continued)</EM> <ul compact> <LI><strong><A NAME="00130" HREF="msg00130.html">Re: Just a bit of musing</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Mon 14 Apr 1997, 23:13 GMT </LI> </ul> </LI> <LI><strong><A NAME="00097" HREF="msg00097.html">Using system time for ObjectIDs</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Sat 12 Apr 1997, 08:41 GMT <LI><strong><A NAME="00086" HREF="msg00086.html">Of disk swapping, database structure & project management..</A></strong>, Greg Munt <a href="mailto:greg#uni-corn,demon.co.uk">greg#uni-corn,demon.co.uk</a>, Sat 12 Apr 1997, 03:40 GMT <UL> <li><Possible follow-up(s)><br> <LI><strong><A NAME="00100" HREF="msg00100.html">Re: Of disk swapping, database structure & project management..</A></strong>, Jeff Kesselman <a href="mailto:jeffk#tenetwork,com">jeffk#tenetwork,com</a>, Sat 12 Apr 1997, 11:04 GMT </LI> <LI><strong><A NAME="00102" HREF="msg00102.html">Re: Of disk swapping, database structure & project management..</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Sat 12 Apr 1997, 12:57 GMT </LI> <LI><strong><A NAME="00107" HREF="msg00107.html">Re: Of disk swapping, database structure & project management..</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sun 13 Apr 1997, 00:16 GMT </LI> <LI><strong><A NAME="00117" HREF="msg00117.html">Re: Of disk swapping, database structure & project management..</A></strong>, coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Sun 13 Apr 1997, 23:55 GMT </LI> <LI><strong><A NAME="00121" HREF="msg00121.html">Re: Of disk swapping, database structure & project management..</A></strong>, Jeff Kesselman <a href="mailto:jeffk#tenetwork,com">jeffk#tenetwork,com</a>, Mon 14 Apr 1997, 02:45 GMT </LI> <LI><strong><A NAME="00129" HREF="msg00129.html">Re: Of disk swapping, database structure & project management..</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Mon 14 Apr 1997, 23:16 GMT </LI> </UL> </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>