Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Sep 1997 23:51:21 -0700 (PDT)
From:      Simon Shapiro <Shimon@i-Connect.Net>
To:        jbryant@tfs.net
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Distributed Lock Manager on FreeBSD
Message-ID:  <XFMail.970916235121.Shimon@i-Connect.Net>
In-Reply-To: <199709170613.BAA00466@argus.tfs.net>

next in thread | previous in thread | raw e-mail | index | archive | help

Hi Jim Bryant;  On 17-Sep-97 you wrote: 

...

> > + What is it good for?  We are using it to build our non-stop RDBMS
> > server,
> >   which is composed of a group of FreeBSD machines tied to a single
> >   disk
> >   farm.  The RDBMS is PgSQL with the lock manager replaced with the DLM
> >   and
> >   the storage manager replaced with the DBFS/DIO module I am still
> >   working
> >   on.
>  
>  More info please...

Briefly (so I do not make too many mistakes :-)

Postgress supports the notion of a modular storage manager.  In RDBMS,
sstorage manager is (more or less) akin to a filesystem.  The modular
storage manager is similar, in concept to a filesystem switch;  It allows
the RDBMS to use a consistent interface to varying methods of storage.
The default Postgres uses the Unix filesystem to store the data; one file
per table, one file per index, etc.  It also supports a memory SM where the
shared memory is used to ``store'' the relations (tables and indices).
A less known storage manager is the Mariposa project which proposed to
distribute the storage across a wide area network.  Still another one I 
got a whiff of was the one that used the large SGI tri-level jukeboxes.
Somewhat similar to the boces used in the original Plan9 fileserver.

The DBFS works backwards from those;  It stores the data in a shared 
disk array;  Several database managers, in several computers share a single
``disk''.  The advantages are obvious in non-stop applications and in
places where the computational (or other, non-disk I/O) load exceeds the
disk bandwidth.

While at it, the DBFS extends the I/O model in several ways:

*   A ``filesystem'' can be composed of a large number of diverse
    ``resources''.  Each resource can be local, remote, or shared.

*  When creating a ``file'' you can specify the resource you want the
   ``file'' to occupy, the backup strategy, etc.

*  All READ/WRITE operations are unbuffered, raw operations, unless you
   specify buffered I/O.

*  File sizes are static, and all files are contigious on the ``disk''.

To utilize these features (and a host of others), we need to extend the
semantics of the SQL CREATE in Postgres.  Those of you familiar with Oracle
will understand what I say here. Actually, most non-Unix mainfreamers 
know very well what.why.

The first implementation of DBFS will be strictly an SM.  I simply do not
know how to map these features into the Unix model.

The DIO module will allow a DBFS SM to apear as a block device.  This will
allow you to newfs it with some STRANGE sideefects :-)

> > If any of this is of any interest to any of you, drop me a line. 
> > Please
> > try to do so soon , so I can decide how to document the thing.
>  
>  documentation is one of the things i've been doing lately...

I will need to have a man page (long and winding) written for the DPT
driver, the DLM driver, the dlmctl utility, the dlmd daemon, etc.
While I used to be able to type troff directly, and man was the ``easy
part'', I can no longer claim that.  If you are willing to take upon
yourself to translate a draft to English and then format into a manpage,
I will be very, very grateful.

---


Sincerely Yours,                               (Sent on 16-Sep-97, 23:21:39
by XF-Mail)

Simon Shapiro                                                Atlas Telecom
Senior Architect         14355 SW Allen Blvd., Suite 130 Beaverton OR 97005
Shimon@i-Connect.Net          Voice:  503.643.5559, Emergency: 503.799.2313



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.970916235121.Shimon>