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

Re: (ITS#6116) BDB 4.8 support

quanah@OpenLDAP.org wrote:
> Full_Name: Quanah Gibson-Mount
> Version: 2.4.16
> OS: Linux 2.6
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (
> Oracle has kindly provided Howard and I access to the early BDB 4.8 code.
> Filing this ITS so that we can track modifications to support new features in
> BDB 4.8, such as the bulk add/delete capabilities.
After a quick read-thru of the Changes in 4.8, I'm a bit skeptical that we'll 
be able to use the bulk add/delete feature. It simply allows multiple 
key/value pairs to be written in one request and in general, since we only 
operate on individual entries, we seldom operate on more than one k/v pair at 
a time. The main exception is when generating a substring index. But in that 
case, we generate pairs in arbitrary (hashed) order, and BDB expects them in 
sorted order.

We could try modifying slapadd to accumulate multiple entries in memory and 
then add them all at once, but that would only help the adds to the id2entry 
DB. For the dn2id and all the other index DBs, we again cannot guarantee that 
inserts will occur in any particular order. As such it seems like we'll be 
creating quite a bit of complexity, batching up id2entry writes but not 
batching up the other writes.

On a separate front, we should probably look into adding support for 
partitioned databases. I think that has the potential to be pretty useful, 
although we'll have to continue to train admins to stop RAIDing all of their 
disks in order to see any benefit from this.

It looks like most of the other changes in 4.8 are internal/transparent, so no 
action is required of us to take advantage.

   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/