[dev] LDAP preference storage with 2.3

Rick Stevens rstevens@publichost.com
Tue, 16 Jan 2001 11:26:50 -0800


Edwin Culp wrote:

> Mike,
> 
> I think there may be a lot of interest on the list in doing the same.  I know
> that I am and have just been putting it off.  While we are on the subject, are
> you also going to ldap for your pop/imap server?  Will you be using
> openldap-2.0.X?  I think I ask too many questions:-)

Just wanted to ring in with a caveat:  I wouldn't recommend using
LDAP for items that change a lot.  User names and passwords are one
thing, session information, address lists and the like are another.

The reason is the LDAP back end.  Depending on which back end you use,
LDAP access can (and will) get slower and slower, because holes develop
in the back end data storage system (NDBM, etc.).  You will eventually
have to spit the LDAP data out into LDIF files, purge the DBM stuff,
then reconvert the LDIF stuff back into LDAP.  For example, my IMAP
and POP servers store the last access time for a user in their LDAP
entry.  I'm taking this out PDQ (pretty d*mned quick) because of the
holes it causes in the DBM files.

The LDAP->LDIF, purge, LDIF->LDAP cycle may not be too onerous for
small installations, but I have 2200 domains and about 8000 users
right now, and it takes about 4 hours to do this (on a dual Pentium-III
box at 800MHz and 512MB).  I will soon have over 1.5M users, so any
unnecessary LDAP updates are going to be a right pain.  Remember, LDAP
is sorta like a magento-optical disk: writes are slow and painful,
reads are fast and neato.  My suggestion is to use LDAP for things
that aren't updated often (user names, passwords, reply-tos, etc.).
Use SQL or something else that supports free space coalescing or
"garbage collection) for things that change a lot (session info,
address lists, signature lines, etc.)


----------------------------------------------------------------------
- Rick Stevens, CTO, PublicHost, Inc.        rstevens@publichost.com -
- 949-743-2010 (Voice)                     http://www.publichost.com -
-                                                                    -
-     Veni, Vidi, VISA:  I came, I saw, I did a little shopping.     -
----------------------------------------------------------------------