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