directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ole Ersoy <>
Subject Re: [ApacheDS] Definition of a partition
Date Wed, 04 Apr 2007 19:09:37 GMT

I'll make sure I add it in the "Concepts" section
of the DAS design book.

I'll put in a JIRA to get it moved to a general area as well.

- Ole

Alex Karasulu 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

View raw message