[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Relative merits of slapd backends
At 02:59 PM 4/7/99 -0500, Paul Makepeace wrote:
>I'm curious whether anyone's had experience with using different hashing
>backends (i.e. gdbm, Berkeley DB various versions, new mdbm) and can provide
>comparisons/anecdotes in terms of memory usage, ability to handle concurrent
>access, indexing speed, locking caveats, reliability etc.
I generally recommend using BerkeleyDB from Sleepycat for
the following reasons:
1) actively developed and maintained
2) good reliability
3) good set of tools
4) good overall performance
BerkeleyDB also offers a number of advanced features we hope to
take advantage of. See discusions on -devel concerning back-bdb2.
>Reliability is obviously important and has been a problem for Schlumberger
>(and now Omnes/me ;-). We have OpenLDAP v1.0.2 on Solaris 2.5.1 with DB 1.85
>deployed over several machines around the world serving a directory of about
>60,000 entries. Corrupted indices seem to be a fact of life and typically
>happen during data cleaning which involves a script running over a large
>chunk of the directory and performing many updates. Is this most likely a
>flaky back-end issue or slapd?
I don't recommend using BerkeleyDB v1. I had been recommending
BerkeleyDB v2.3.16, but v2.7.3 may now be a better choice. Be sure
to compile BerkeleyDB with a compatible set of compiler options.
Pay particular attention to thread options.
>Reproducing indices is really very slow with the above setup: it can take
>several hours on a Sparc Ultra3000 to create 30 or so indexes (each
>typically eq,sub,pres)[1].
Some older versions of ldif2ldbm did write syncs. This is very
expensive. I generally build databases on ram disks... (then
move them to a hard disk before running slapd).
>Would a different backend help (besides better
>I/O and more RAM)? Several hours becomes expensive when an index becomes
>corrupt.
Upgrading could help. A large number of bugs have been fixed since
1.0.2. Of course, a few new ones have been introduced. :-) I
recommend you do adequate pre-deployment testing...
>The hard-nosed question at the moment for me is: is there a significant
>benefit/evil consequence going with Berkeley DB v. GDBM (or some other
>contender)?
As BerkeleyDB v1.85 and GDBM are not actively maintained, I
do not recommend them. I don't know enough about MDBM
to comment on it.
Kurt