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

Re: A Tactical Question

--On Monday, November 03, 2003 6:40 AM -0500 Peter John Hartman <peterjh@mennonot.net> wrote:

For some advice:

I currently am in charge of optimizing the code for a software
system which uses LDAP to store most of its data rather than a
convential database.  The software, for the most part, does a lot of
read-only calls (and is designed in a hierarchical fashion: thus LDAP
as our data storage).  However, in certain key parts of the software, we
do do some writes, deletes, moves, copies, etc.  However, due to the way
(I believe) indices work, if we index up our
attributes, our reads are impressive, but our writes/deletes are DOG slow.

I've brainstormed, what I feel is, a fabulous idea, namely, operate two
LDAP servers, one replicating from the other, setting one LDAP server to
be heavily indexed, while the other would be light
on the index (i.e. optimized for writes/deletes).  Then,
whenever the software does a write/delete/copy/move, it hits the Writeable
Ldap server, otherwise it falls back to the read-only ldap server.

My questions then are two:

1. Would load increase be significant enough that we'd want to place the
Writable Ldap server on a separate box, or could I just create another
instance on a different port?

2. Is this a stupid idea?  Are there better ways of getting around
this problem?


This is actually exactly how we run our set of servers here at Stanford. We have a master LDAP server, which has minimal indexing (I think 5 attributes), and 9 replica's which serve as our general LDAP pool to the community, which do our full indexing. I think that you would want the master on a separate box from the replica, due to issues of collisions between reads and writes on the same drives. If you had several drives, and had the master & replica isolated to different drives, it might work.


Quanah Gibson-Mount
Principal Software Developer
ITSS/TSS/Computing Systems
ITSS/TSS/Infrastructure Operations
Stanford University
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html