On Mon, Mar 14, 2005 at 08:33:00AM +0200, Scott Ryan wrote:
> On Thursday 10 March 2005 20:53, Dan Melomedman shaped the electrons to say:
> <snip>
> > If you still want to use 2.x.x version, then I strongly recommend NOT
> > using the Berkely DB backend. Use GDBM instead, 
> 
> I would  argue against using GDBM because of the sheer stability and data 
> corruption that we have experienced with this backend.
> I currently use berkely ldbm which has been very stable but unfortunately 
> there is no more development with ldbm backend.
> 

Just to clarify. The ldbm backand uses GDBM and the bdb and hdb (is it
called like this?) backand use Berkely DB 4.0 as database.
GDBM is a reimplementation of the old standard UNIX dbm routines which are
based IIRC on an old Berkely DB (1.2 or so).

> > you'll reduce the number 
> > of future database corruptions dramatically. You will also avoid the
> > bulk of the bugs and Berkeley DB management overhead. If you've been
> > hanging around the OpenLDAP mailing lists, you'll see many responses
> > from OpenLDAP developers such as "This isn't our problem, this is
> > Berkeley DB problem, go fix it instead".
> 
> I used 2.1.30 with bdb backend and had no end of troubles. Data Corruption 
> and 
> memory leaks. So I am quite relictant to change to bdb just yet. The 
> transactional logging is obviously a good feature that we could use, however, 
> the stability for us was far more important.
> 

I think most user do not like the bdb because it is not fool proof. You
need to add a DB_CONFIG file, tune OpenLDAP and if the server crashes,
human interaction is needed to recover the database. 
Other things that may be an issue are the memory leaks in the bdb backend
and the unstillable memory hunger on 64bit systems (at least on OpenBSD).
In our situation -- almost no writes but many of lookups -- ldbm is much
better. The performance and memory foot print are very good and the system
is rock solid.

-- 
:wq Claudio

Reply via email to