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

Re: bdb backend: memp_trickle



Eric Irrgang wrote:

On Tue, 15 Feb 2005, Howard Chu wrote:



In general, back-hdb and back-bdb are identical. The only difference is
how the dn2id index is structured, which allows back-hdb to support
subtree renames. Of course none of this is relevant to your original
question regarding memp_trickle.



I'm beginning to see. I just read your presentations and emails. So this
is your baby, eh?


Both are, really. back-bdb was started by Kurt, then he didn't have time to finish it so I picked it up. I had already written a private version of back-hdb for Symas' Connexitor, but it was based on ldbm. After fleshing out back-bdb I started adapting my old version of back-hdb into back-bdb...

I guess I still have the same question for hdb, though.  Does it somehow
trickle the in-memory changes out to disk or does it only flush
periodically at a checkpoint or when closing the environment?

Only at checkpoint / close.



Okay, so hdb is overall more consistent in performance and more efficient
at making changes, but is still going to have the same behavior as far as
writing the changes out. It just sounds like it will be writing less data
to the id2entry file so it should go faster. Is that about right?


Right.

I like the idea of just running my own trickle thread.  I just wanted to
hear it from someone with more bdb experience than me.

I see mention of the need for using larger IDL cache. Is this something
that is done only at slapd compile time affecting memory allocation within
slapd or is there a DB_CONFIG tunable for the whole db environment? I
couldn't find any mention of IDL cache on sleepycat.com... In other
words, are the notations of the need for more IDL cache merely an
observation or a suggestion to the user?


The IDL cache is a part of back-bdb/hdb, it is not part of the Sleepycat BDB library. The idlcachesize directive is documented in slapd-bdb(5). The IDL cache is useful for both back-bdb and back-hdb but back-hdb relies more heavily on the cache when doing subtree searches. As such, back-hdb's search performance is much much slower when the IDL cache is too small.

--
 -- Howard Chu
 Chief Architect, Symas Corp.       Director, Highland Sun
 http://www.symas.com               http://highlandsun.com/hyc
 Symas: Premier OpenSource Development and Support