H3: Overview
-The {{bdb}} backend to {{slapd}}(8) is the recommended primary backend for a
+The {{hdb}} backend to {{slapd}}(8) is the recommended primary backend for a
normal {{slapd}} database. It uses the Oracle Berkeley DB ({{TERM:BDB}})
package to store data. It makes extensive use of indexing and caching
(see the {{SECT:Tuning}} section) to speed data access.
-{{hdb}} is a variant of the {{bdb}} backend that uses a hierarchical database
-layout which supports subtree renames. It is otherwise identical to the {{bdb}}
- behavior, and all the same configuration options apply.
+{{hdb}} is a variant of the original {{bdb}} backend which was first written for use with BDB.
+{{hdb}} uses a hierarchical database layout which supports subtree renames.
+It is otherwise identical to the {{bdb}}
+behavior, and all the same configuration options apply.
Note: An {{hdb}} database needs a large {{idlcachesize}} for good search performance,
typically three times the {{cachesize}} (entry cache size) or larger.
+Note: The {{hdb}} backend has superseded the {{bdb}} backend, and both will
+soon be deprecated in favor of the new {{mdb}} backend. See below.
+
H3: back-bdb/back-hdb Configuration
MORE LATER
{{slapd-ldif}}(5)
-H2: MDB
+H2: LMDB
H3: Overview
The {{mdb}} backend to {{slapd}}(8) is the upcoming primary backend for a
-normal {{slapd}} database. It uses OpenLDAP's own Memory-Mapped Database ({{TERM:MDB}})
+normal {{slapd}} database. It uses OpenLDAP's own
+Lightning Memory-Mapped Database ({{TERM:LMDB}})
library to store data and is intended to replace the Berkeley DB backends.
It supports indexing like the BDB backends, but it uses no caching and requires
H3: back-mdb Configuration
-Unlike the BDB backends, the MDB backend can be instantiated with very few
+Unlike the BDB backends, the {{mdb}} backend can be instantiated with very few
configuration lines:
> include ./schema/core.schema
> rootpw mdb
> maxsize 1073741824
-In addition to the usual parameters that a minimal configuration requires, the MDB
+In addition to the usual parameters that a minimal configuration requires, the {{mdb}}
backend requires a maximum size to be set. This should be the largest that
the database is ever anticipated to grow (in bytes). The filesystem must also
provide enough free space to accommodate this size.
Scale your cache to use available memory and increase system memory if you can.
See {{SECT:Caching}} for BDB cache tuning hints.
-Note that MDB uses no cache of its own and has no tuning options, so the Caching
-section can be ignored when using MDB.
+Note that LMDB uses no cache of its own and has no tuning options, so the Caching
+section can be ignored when using LMDB.
H3: Disks