=== START access-control.html === === END access-control.html === === START appendix-changes.html === === END appendix-changes.html === === START appendix-common-errors.html === === END appendix-common-errors.html === === START appendix-configs.html === === END appendix-configs.html === === START appendix-contrib.html === === END appendix-contrib.html === === START appendix-deployments.html === === END appendix-deployments.html === === START appendix-ldap-result-codes.html === === END appendix-ldap-result-codes.html === === START appendix-recommended-versions.html === 132,153d131 < Database Software < <
OpenLDAP's slapd(8)
Your operating system may provide a supported version of Berkeley DB in the base system or as an optional software component. If not, you'll have to obtain and install it yourself.
<Berkeley DB is available from Oracle Corporation's Berkeley DB download page http://www.oracle.com/technology/software/products/berkeley-db/index.html.
<There are several versions available. Generally, the most recent release (with published patches) is recommended. This package is required if you wish to use the deprecated
OpenLDAP's slapd(8)
Your operating system may provide a supported version of Berkeley DB in the base system or as an optional software component. If not, you'll have to obtain and install it yourself. Berkeley DB is available from Oracle Corporation's Berkeley DB download page if required.
>There are several versions available from Oracle Corporation. Berkeley DB version 6.0.20 and later uses a software license that is incompatible with LDAP technology and should not be used with OpenLDAP.
=== END install.html === === START intro.html === 99,100c99,100 <This question is raised many times, in different forms. The most common, however, is: Why doesn't OpenLDAP drop Berkeley DB and use a relational database management system (RDBMS) instead? In general, expecting that the sophisticated algorithms implemented by commercial-grade RDBMS would make OpenLDAP be faster or somehow better and, at the same time, permitting sharing of data with other applications.
<The short answer is that use of an embedded database and custom indexing system allows OpenLDAP to provide greater performance and scalability without loss of reliability. OpenLDAP uses Berkeley DB concurrent / transactional database software. This is the same software used by leading commercial directory software.
--- >This question is raised many times, in different forms. The most common, however, is: Why doesn't OpenLDAP use a relational database management system (RDBMS) instead of an embedded key/value store like LMDB? In general, expecting that the sophisticated algorithms implemented by commercial-grade RDBMS would make OpenLDAP be faster or somehow better and, at the same time, permitting sharing of data with other applications.
>The short answer is that use of an embedded database and custom indexing system allows OpenLDAP to provide greater performance and scalability without loss of reliability. OpenLDAP uses
The second approach is to put the whole entry as a blob in a table shared by all entries regardless of the objectclass and have additional tables that act as indices for the first table. Index tables are not database indices, but are fully managed by the LDAP server-side implementation. However, the database becomes unusable from SQL. And, thus, a fully fledged database system provides little or no advantage. The full generality of the database is unneeded. Much better to use something light and fast, like Berkeley DB.
--- >The second approach is to put the whole entry as a blob in a table shared by all entries regardless of the objectclass and have additional tables that act as indices for the first table. Index tables are not database indices, but are fully managed by the LDAP server-side implementation. However, the database becomes unusable from SQL. And, thus, a fully fledged database system provides little or no advantage. The full generality of the database is unneeded. Much better to use something light and fast, like
Choice of database backends: slapd comes with a variety of different database backends you can choose from. They include
Choice of database backends: slapd comes with a variety of different database backends you can choose from. They include
The syncrepl engine, which is a consumer-side replication engine, can work with any backends. The LDAP Sync provider can be configured as an overlay on any backend, but works best with the back-bdb or back-hdb backend.
--- >The syncrepl engine, which is a consumer-side replication engine, can work with any backends. The LDAP Sync provider can be configured as an overlay on any backend, but works best with the back-bdb back-hdb, or back-mdb backends.
160c160,161 < database bdb --- > database mdb > maxsize 1073741824 173c174,175 < database hdb --- > database mdb > maxsize 1073741824 === END replication.html === === START runningslapd.html === === END runningslapd.html === === START sasl.html === === END sasl.html === === START schema.html === === END schema.html === === START security.html === === END security.html === === START slapdconf2.html === === END slapdconf2.html === === START slapdconfig.html === 520c520 <The syncrepl replication mechanism is supported by the bdb and hdb backends.
--- >The syncrepl replication mechanism is supported by the bdb, hdb, and mdb backends.
=== END slapdconfig.html === === START tls.html === === END tls.html === === START troubleshooting.html === === END troubleshooting.html === === START tuning.html === === END tuning.html ===