To clarify from previous threads ...


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.