Sounds very good!

Trustin

On 4/5/07, Alex Karasulu <[EMAIL PROTECTED]> wrote:
To clarify from previous threads ...

Definition
-------------

A partition is a physically distinct store for a subset of the entries
contained within a DSA (Directory Server/Service Agent A.K.A the LDAP
server).  The entries of a partition all share the same suffix which is the
distinguished name of the namingContext from which the stored entries in the
partition are hung from the DIT.  A partition can be implemented using any
storage mechanism or can even be backed in memory.  A partition simply has
to implement the Partition ( 1.5) interface and by doing so can be mounted
in the server at it's suffix/namingContext.

The server can have any number of partitions (with any implementation)
attached to various namingContexts which are published by the RootDSE (empty
string dn "") using the namingContexts operational attribute.  So if you
want to see the partitions served by the server you can query the RootDSE
for this information.

Motivation For Terminology
------------------------------------

I decided to use the term Partition to denote this structure in the server
rather than use the term backend.  Why?  Well to me the backend is
everything after the protocol which is basically all of the core.  The
frontend is the MINA based LDAP protocol service provider.  Another reason
for this choice was the fact that a partition is a separate physical store
that separates a subset of the entries.  It partitions the DIT, the
namespace hence the term "partition" made sense to me.

Another crazy reason for this comes from my days as a Linux system developer
while writing device drivers (ahhh those were the days).  Anyways I really
like to parallel the concepts of the Linux file system terminology since it
is almost exactly the same concept but in another domain.  Basically file
system partitions which can be backed by any kind of random access store can
be mounted at mount points on the file system.  To me the mount point is
analogous to the namingContext used to hang the entries stored therein off
the DIT (here I'm relating entries to files).   Note this analogy does
breakdown in some places but over all it's a descent analogy which warranted
using the name Partition rather than Backend.

Alex




--
what we call human nature is actually human habit
--
http://gleamynode.net/
--
PGP Key ID: 0x0255ECA6

Reply via email to