From 112f06618831b90e2fc4059a4a4a1670e57ae2d8 Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Thu, 28 Jan 2016 18:47:13 -0600 Subject: [PATCH] ITS 8362 - Drop link to BDB altogether. Other documentation updates to make it clear that (L)MDB is preferred --- .../admin/appendix-recommended-versions.sdf | 2 -- doc/guide/admin/aspell.en.pws | 5 ++++ doc/guide/admin/install.sdf | 20 +++++-------- doc/guide/admin/intro.sdf | 29 ++++++++++--------- doc/guide/preamble.sdf | 1 - 5 files changed, 28 insertions(+), 29 deletions(-) diff --git a/doc/guide/admin/appendix-recommended-versions.sdf b/doc/guide/admin/appendix-recommended-versions.sdf index baaeb99c2e..a4f6a5662d 100644 --- a/doc/guide/admin/appendix-recommended-versions.sdf +++ b/doc/guide/admin/appendix-recommended-versions.sdf @@ -22,8 +22,6 @@ Feature|Software|Version {{TERM[expand]Kerberos}}: |{{PRD:Heimdal}}|Version |{{PRD:MIT Kerberos}}|Version -Database Software|{{PRD:Berkeley DB}}:|5.3 -||Note: It is highly recommended to apply the patches from Oracle for a given release. Threads: |POSIX {{pthreads}}|Version |Mach {{CThreads}}|Version diff --git a/doc/guide/admin/aspell.en.pws b/doc/guide/admin/aspell.en.pws index 9921963f42..5332e841dd 100644 --- a/doc/guide/admin/aspell.en.pws +++ b/doc/guide/admin/aspell.en.pws @@ -1688,3 +1688,8 @@ uidNumber CA's CAs namingContext +mdb +lmdb +LMDB +LMDB's +MDB diff --git a/doc/guide/admin/install.sdf b/doc/guide/admin/install.sdf index 4c201a5ff4..b9b2269ed4 100644 --- a/doc/guide/admin/install.sdf +++ b/doc/guide/admin/install.sdf @@ -119,24 +119,18 @@ software included with the OpenLDAP source. There is no need to download any additional software to have {{MDB}} support. OpenLDAP's {{slapd}}(8) {{TERM:BDB}} and {{TERM:HDB}} deprecated database backends -require {{ORG[expand]Oracle}} {{PRD:Berkeley DB}}. +require {{ORG[expand]Oracle}}'s Berkeley DB. If not available at configure time, you will not be able to build -{{slapd}}(8) with these primary database backends. +{{slapd}}(8) with these deprecated database backends. Your operating system may provide a supported version of -{{PRD:Berkeley DB}} in the base system or as an optional +Berkeley DB in the base system or as an optional software component. If not, you'll have to obtain and -install it yourself. +install it yourself. Berkeley DB is available from +{{ORG[expand]Oracle}}'s Berkeley DB download page if required. -{{PRD:Berkeley DB}} is available from {{ORG[expand]Oracle}}'s Berkeley DB -download page -{{URL: http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/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 {{TERM:BDB}} or {{TERM:HDB}} database backends. - -Note: Berkeley DB version 6.0.20 and later uses a software license that is +There are several versions available from {{ORG[expand]Oracle}}. +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. Note: Please see {{SECT:Recommended OpenLDAP Software Dependency Versions}} for diff --git a/doc/guide/admin/intro.sdf b/doc/guide/admin/intro.sdf index c8b27b2b51..de3fd8ba89 100644 --- a/doc/guide/admin/intro.sdf +++ b/doc/guide/admin/intro.sdf @@ -265,17 +265,16 @@ LDAPv2 is disabled by default. H2: LDAP vs RDBMS 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. +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 Berkeley DB concurrent / transactional -database software. This is the same software used by leading commercial -directory software. +reliability. OpenLDAP uses {{TERM:LMDB}} concurrent / transactional +database software. Now for the long answer. We are all confronted all the time with the choice RDBMSes vs. directories. It is a hard choice and no simple answer exists. @@ -331,7 +330,7 @@ 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. +Much better to use something light and fast, like {{TERM:LMDB}}. A completely different way to see this is to give up any hopes of implementing the directory data model. In this case, LDAP is used as an access protocol to @@ -403,12 +402,16 @@ tags. {{B:Choice of database backends}}: {{slapd}} comes with a variety of different database backends you can choose from. They include -{{TERM:BDB}}, a high-performance transactional database backend; +{{TERM:MDB}}, a hierarchical high-performance transactional database backend; +{{TERM:BDB}}, a high-performance transactional database backend (deprecated); {{TERM:HDB}}, a hierarchical high-performance transactional -backend; {{SHELL}}, a backend interface to arbitrary shell scripts; +backend (deprecated); {{SHELL}}, a backend interface to arbitrary shell scripts; and PASSWD, a simple backend interface to the {{passwd}}(5) file. -The BDB and HDB backends utilize {{ORG:Oracle}} {{PRD:Berkeley -DB}}. +The MDB backend utilizes {{TERM::LMDB}}, a high performance replacement +for {{ORG[expand]:Oracle}}'s Berkeley DB. +The BDB and HDB backends utilize {{ORG[expand]:Oracle}} Berkeley DB. These +backends have been deprecated as LMDB provides significantly higher read +and write throughput and data reliability. {{B:Multiple database instances}}: {{slapd}} can be configured to serve multiple databases at the same time. This means that a single diff --git a/doc/guide/preamble.sdf b/doc/guide/preamble.sdf index 0c542df574..0535b8225b 100644 --- a/doc/guide/preamble.sdf +++ b/doc/guide/preamble.sdf @@ -127,7 +127,6 @@ UMLDAP|University of Michigan LDAP Team|http://www.umich.edu/~dirsvcs/ldap/ldap. !block products; data; sort='Name' Name|Jump -Berkeley DB|http://www.oracle.com/database/berkeley-db/db/index.html Cyrus|http://cyrusimap.web.cmu.edu/generalinfo.html Cyrus SASL|http://asg.web.cmu.edu/sasl/sasl-library.html Git|http://git-scm.com/ -- 2.39.5