.TH SLAPD-MDB 5 "RELEASEDATE" "OpenLDAP LDVERSION" .\" Copyright 2011 The OpenLDAP Foundation All Rights Reserved. .\" Copying restrictions apply. See COPYRIGHT/LICENSE. .\" $OpenLDAP$ .SH NAME slapd\-mdb \- Memory-Mapped DB backend to slapd .SH SYNOPSIS .B ETCDIR/slapd.conf .SH DESCRIPTION The \fBmdb\fP backend to .BR slapd (8) uses OpenLDAP's own Memory-Mapped DB (MDB) library to store data. It relies completely on the underlying operating system for memory management and does no caching of its own. .LP The \fBmdb\fP backend is similar to the \fBhdb\fP backend in that it uses a hierarchical database layout which supports subtree renames. It is both more space-efficient and more execution-efficient than the \fBbdb\fP backend, while being overall much simpler to manage. .SH CONFIGURATION These .B slapd.conf options apply to the \fBmdb\fP backend database. That is, they must follow a "database mdb" line and come before any subsequent "backend" or "database" lines. Other database options are described in the .BR slapd.conf (5) manual page. .TP .BI checkpoint \ \ Specify the frequency for flushing the database disk buffers. This setting is only needed if the \fBdbnosync\fP option is used. Note: this feature is not yet implemented. The checkpoint will occur if either \fI\fP data has been written or \fI\fP minutes have passed since the last checkpoint. Both arguments default to zero, in which case they are ignored. When the \fI\fP argument is non-zero, an internal task will run every \fI\fP minutes to perform the checkpoint. .TP .B dbnosync Specify that on-disk database contents should not be immediately synchronized with in memory changes. Enabling this option may improve performance at the expense of data security. By default, a full data flush/sync is performed when each transaction is committed. .TP .BI directory \ Specify the directory where the MDB files containing this database and associated indexes live. A separate directory must be specified for each database. The default is .BR LOCALSTATEDIR/openldap\-data . .TP \fBindex \fR{\fI\fR|\fBdefault\fR} [\fBpres\fR,\fBeq\fR,\fBapprox\fR,\fBsub\fR,\fI\fR] Specify the indexes to maintain for the given attribute (or list of attributes). Some attributes only support a subset of indexes. If only an \fI\fP is given, the indices specified for \fBdefault\fR are maintained. Note that setting a default does not imply that all attributes will be indexed. Also, for best performance, an .B eq index should always be configured for the .B objectClass attribute. A number of special index parameters may be specified. The index type .B sub can be decomposed into .BR subinitial , .BR subany ,\ and .B subfinal indices. The special type .B nolang may be specified to disallow use of this index by language subtypes. The special type .B nosubtypes may be specified to disallow use of this index by named subtypes. Note: changing \fBindex\fP settings in .BR slapd.conf (5) requires rebuilding indices, see .BR slapindex (8); changing \fBindex\fP settings dynamically by LDAPModifying "cn=config" automatically causes rebuilding of the indices online in a background task. .TP .BI maxsize \ Specify the maximum size of the database in bytes. A memory map of this size is allocated at startup time and the database will not be allowed to grow beyond this size. The default is 10485760 bytes. This setting may be changed upward if the configured limit needs to be increased. .TP .BI mode \ Specify the file protection mode that newly created database files should have. The default is 0600. .TP .BI searchstack \ Specify the depth of the stack used for search filter evaluation. Search filters are evaluated on a stack to accommodate nested AND / OR clauses. An individual stack is assigned to each server thread. The depth of the stack determines how complex a filter can be evaluated without requiring any additional memory allocation. Filters that are nested deeper than the search stack depth will cause a separate stack to be allocated for that particular search operation. These allocations can have a major negative impact on server performance, but specifying too much stack will also consume a great deal of memory. Each search stack uses 512K bytes per level. The default stack depth is 16, thus 8MB per thread is used. .SH ACCESS CONTROL The .B mdb backend honors access control semantics as indicated in .BR slapd.access (5). .SH FILES .TP .B ETCDIR/slapd.conf default .B slapd configuration file .SH SEE ALSO .BR slapd.conf (5), .BR slapd\-config (5), .BR slapd (8), .BR slapadd (8), .BR slapcat (8), .BR slapindex (8), OpenLDAP MDB documentation. .SH ACKNOWLEDGEMENTS .so ../Project Written by Howard Chu.