]> git.sur5r.net Git - openldap/blob - doc/man/man5/slapd.backends.5
Merge remote-tracking branch 'origin/mdb.master'
[openldap] / doc / man / man5 / slapd.backends.5
1 .TH SLAPD.BACKENDS 5 "RELEASEDATE" "OpenLDAP LDVERSION"
2 .\" Copyright 2006-2014 The OpenLDAP Foundation All Rights Reserved.
3 .\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
4 .\" $OpenLDAP$
5 .SH NAME
6 slapd.backends \- backends for slapd, the stand-alone LDAP daemon
7 .SH DESCRIPTION
8 The
9 .BR slapd (8)
10 daemon can use a variety of different backends for serving LDAP requests.
11 Backends may be compiled statically into slapd, or when module support
12 is enabled, they may be dynamically loaded. Multiple instances of a
13 backend can be configured, to serve separate databases from the same
14 slapd server.
15
16
17 Configuration options for each backend are documented separately in the
18 corresponding
19 .BR slapd\-<backend> (5)
20 manual pages.
21 .TP
22 .B bdb
23 This was the recommended primary backend through OpenLDAP 2.3, but it has
24 since been superseded by the
25 .BR hdb
26 backend.  It takes care to configure it properly.
27 It uses the transactional database interface of the Oracle Berkeley
28 DB (BDB) package to store data.
29 .TP
30 .B config
31 This backend is used to manage the configuration of slapd at run-time.
32 Unlike other backends, only a single instance of the
33 .B config
34 backend may be defined. It also instantiates itself automatically,
35 so it is always present even if not explicitly defined in the
36 .BR slapd.conf (5)
37 file.
38 .TP
39 .B dnssrv
40 This backend is experimental.
41 It serves up referrals based upon SRV resource records held in the
42 Domain Name System.
43 .TP
44 .B hdb
45 This is the recommended primary backend for a normal slapd database.
46 .B hdb
47 is a variant of the
48 .B bdb
49 backend that uses a hierarchical database
50 layout.
51 This layout stores entry DNs more efficiently than the
52 .B bdb
53 backend,
54 using less space and requiring less work to create, delete, and rename
55 entries. It is also one of the few backends to support subtree renames.
56 .TP
57 .B ldap
58 This backend acts as a proxy to forward incoming requests to another
59 LDAP server.
60 .TP
61 .B ldif
62 This database uses the filesystem to build the tree structure
63 of the database, using plain ascii files to store data.
64 Its usage should be limited to very simple databases, where performance
65 is not a requirement. This backend also supports subtree renames.
66 .TP
67 .B mdb
68 This will soon be the recommended primary backend, superseding
69 .BR hdb .
70 This backend uses OpenLDAP's own MDB transactional database
71 library. It is extremely compact and extremely efficient, delivering
72 much higher performance than the Berkeley DB backends while using
73 significantly less memory.  Also, unlike Berkeley DB, MDB is crash proof,
74 and requires no special tuning or maintenance.
75 This backend also supports subtree renames.
76 .TP
77 .B meta
78 This backend performs basic LDAP proxying with respect to a set of
79 remote LDAP servers. It is an enhancement of the
80 .B ldap
81 backend.
82 .TP
83 .B monitor
84 This backend provides information about the running status of the slapd
85 daemon. Only a single instance of the
86 .B monitor
87 backend may be defined.
88 .TP
89 .B ndb
90 This backend is experimental.
91 It uses the transactional database interface of the MySQL Cluster Engine
92 (NDB) to store data. Note that Oracle, which now owns MySQL, has withdrawn
93 support for NDB and this backend is unlikely to be developed any further.
94 .TP
95 .B null
96 Operations in this backend succeed but do nothing.
97 .TP
98 .B passwd
99 This backend is provided for demonstration purposes only.
100 It serves up user account information from the system
101 .BR passwd (5)
102 file.
103 .TP
104 .B perl
105 This backend embeds a
106 .BR perl (1)
107 interpreter into slapd.
108 It runs Perl subroutines to implement LDAP operations.
109 .TP
110 .B relay
111 This backend is experimental.
112 It redirects LDAP operations to another database
113 in the same server, based on the naming context of the request.
114 Its use requires the 
115 .B rwm
116 overlay (see
117 .BR slapo\-rwm (5)
118 for details) to rewrite the naming context of the request.
119 It is primarily intended to implement virtual views on databases
120 that actually store data.
121 .TP
122 .B shell
123 This backend executes external programs to implement LDAP operations.
124 It is primarily intended to be used in prototypes.
125 .TP
126 .B sql
127 This backend is experimental.
128 It services LDAP requests from an SQL database.
129 .SH FILES
130 .TP
131 ETCDIR/slapd.conf
132 default slapd configuration file
133 .TP
134 ETCDIR/slapd.d
135 default slapd configuration directory
136 .SH SEE ALSO
137 .BR ldap (3),
138 .BR slapd\-bdb (5),
139 .BR slapd\-config (5),
140 .BR slapd\-dnssrv (5),
141 .BR slapd\-hdb (5),
142 .BR slapd\-ldap (5),
143 .BR slapd\-ldif (5),
144 .BR slapd\-mdb (5),
145 .BR slapd\-meta (5),
146 .BR slapd\-monitor (5),
147 .BR slapd\-ndb (5),
148 .BR slapd\-null (5),
149 .BR slapd\-passwd (5),
150 .BR slapd\-perl (5),
151 .BR slapd\-relay (5),
152 .BR slapd\-shell (5),
153 .BR slapd\-sql (5),
154 .BR slapd.conf (5),
155 .BR slapd.overlays (5),
156 .BR slapd (8).
157 "OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)
158 .SH ACKNOWLEDGEMENTS
159 .so ../Project