2006/12/14, Howard Chu <hyc@symas.com>:
This is a pointless exercise.
> --On Thursday, December 14, 2006 2:27 PM +0800 "ʯ±ó(Seuler.shi
)"
> <seuler.shi@gmail.com> wrote:
>> Dear Quanah:
>>
>> Because the replication features provided by OpenLDAP do not
>> meet our software requirement.
>> If there are N slaves and 1 master in a replication group in
>> BDB, once the master crashes, a new
>> master will be elected by BDB and the replication group can
>> still work well. All the parameters
>> concerning master election in BDB can be configured by user.
>> This will be more portable.
OpenLDAP mirrormode allows automatic promotion of a slave to a master.
Using LDAP for the control protocol is far more portable. It provides an
open, standard protocol for managing all of the servers. Using
back-config on each server will allow you to tune all of the server
parameters, including the underlying BDB parameters, from anywhere on
the network, using any of a variety of LDAP-enabled clients.
Using LDAP for the replication protocol is far more portable. It allows
data to be replicated to any LDAP-aware server, not just other OpenLDAP
servers.
Relying solely on BDB replication does not provide such power or
flexibility.
>> As the replication mechanism reaches synchronizations by
>> transferring write requests to the replicas,
>> this may be less efficient compared with BDB replication. So
>> we need to compare these two method.
Transmitting a single LDAP write operation over the network is far more
bandwidth-efficient than transmitting the many database pages that will
be dirtied by a single LDAP write operation.
>> Would you tell me why OpenLDAP do not support BDB
>> replication?
Because BDB replication offers no advantages for OpenLDAP's use cases.
>> BDB replication mechanism will operate slave databases
>> directly without inform the upper layer LDAP.
>> The information such as index, ID and so on maintained by
>> OpenLDAP may be inconsistent with the
>> content of database. I try to mend the source code of
>> OpenLDAP to let every "ldapsearch" operation
>> find entry info in database directly, but I failed:(
>>
>> I am expecting your comments.
The only way to make it work is by removing all of the back-bdb caching
mechanisms. Performance will be extremely slow. You will lose a
significant degree of usability and gain no benefit in return for this
effort.
===============================================
The bdb replication will ensure the slave's cache as well as the bdb database in disk.
I intend to turn off openldap's cache and configure back -bdb with main memory state.
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
OpenLDAP Core Team http://www.openldap.org/project/