Hi,

On Saturday, 18. August 2012, Howard Chu wrote:
> Peter Marschall wrote:
> > But this brought up a question:
> > Given an existing HDB database, is there a formula or something to
> > calculate the 'maxsize' config option of MDB from the existing
> > information.
> 
> In my testing, MDB typically uses about 60% as much space as HDB. Factor in
> however much future growth you anticipate and go from there.
> 
> As an example, I have a test LDIF that's 558694630 bytes, containing 380836
> entries. Looking at info from [m]db_stat, we can compare the number of
> pages used for each index:
> 
>               hdb                             mdb
>       branch  leaf    overflow        branch  leaf    overflow
> dn2id 328     8097    0               67      7625    0
> id2e  344     249856  59368           263     29681   293169
> oc    11      154     0               1       3       0
> uid   2487    26392   0               65      10895   0
> 
> (page sizes are normalized here; hdb id2entry uses 16K pages while all
> other databases use 4K pages)
> 
> This is with
>       index objectclass eq
>       index uid eq,sub
> 
> The dn2id, oc, and uid database formats are logically identical between hdb
> and mdb, so the difference in size is due to the difference in BDB and MDB.
> The id2entry database in mdb uses a slightly different encoding than hdb,
> so there are both library and backend format differences there.
> 
> As you can see, the more indexing you use, the bigger the difference
> between mdb and hdb.

Thanks for the explanation, Howard.

I may be a bit thick today, but I do not see, how I can determine a minimal 
value for MDB's *maxsize* parameter from the values given above.
(I do not want to waste memory ;-)

Shall I simply take the LDIF size as maxsize?
Shall I simply take the added sizes of the files in the HDB database?
...

Thanks in advance
EPter

-- 
Peter Marschall
[email protected]

Reply via email to