[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: growth pains, ldbm or bdb?



On Mon, 2004-01-19 at 18:54, Mike Denka wrote:
> I know this doesn't speak directly to the original question about
> backends, but couldn't you use nscd to cache results from ldap queries
> on your mail servers?  This would seem to me to solve a lot of
> performance issues related to mail and ldap or at least to reduce the
> number of ldap replicas one would need to support a large mail
> operation. 
> 
> Mike
> 
Mike, 

On the bdb/ldbm issue this is what Kurt has to say...
from:  http://www.openldap.org/faq/data/cache/756.html

There are many other differences between the two that are really only
visible in the code itself. For example, back-ldbm stores entries in
LDIF format, and back-bdb stores them in a binary format that is 3-4
times faster to read and write. back-ldbm's index management is
reminiscent of filesystem inodes, with direct blocks and indirect
blocks, and individual index blocks are malloc'd and free'd on demand.
back-bdb's index management is much simpler, and blocks are malloc'd and
free'd much less frequently, which again yields better performance.
(Unfortunately all of these optimizations aren't always visible at the
user level, because the BDB transaction subsystem adds considerable
overhead to back-bdb. For the most part the fanatical tuning efforts in
back-bdb only bring it on par with back-ldbm in terms of performance.)

On nscd,
from: man page of nscd

Nscd caches libc-issued requests to the Name Service. If retrieving NSS
data is fairly expensive, nscd is able to speed up consecutive access to
the same data dramatically and increase overall system performance.

Key is here: NSS data (that's user/group/host/etc info) so no caching of
other entries... 
And if it would what would you do with updates to records in the LDAP
database? The main problem with caching is: who should you trust to hold
the most accurate information... 


-- 
JJ van Gorkum                             Knowledge Zone
If UNIX isn't the solution, you've got the wrong problem.