Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-67595

[RFE] Backend replacement of BDB to LMDB

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done-Errata
    • Icon: Major Major
    • rhel-10.0
    • None
    • 389-ds-base
    • None
    • None
    • rhel-idm-ds
    • ssg_idm
    • 21
    • 0
    • QE ack
    • False
    • False
    • Hide

      None

      Show
      None
    • Yes
    • None
    • Enhancement
    • Hide
      .`389-ds-base` now fully supports LMDB

      The Lightning Memory-Mapped Database (LMDB), previously available as a Technology Preview in the `389-ds-base` package, is now fully supported.

      Key benefits include:

      * LMDB is highly optimized for read operations.
      * LMDB avoids memory allocations and memory-to-memory copies.
      * LMDB requires minimal configuration.
      * LMDB supports multi-threaded and multi-process environments with no deadlocks.
      * Readers never block writers, and vice versa.
      * LMDB does not require transaction logs.

      Starting with RHEL 10, all new Directory Server instances use only LMDB as the database type, and a standard installation with BDB is no longer possible.

      To migrate your existing BDB instances to LBDM, create a new LMDB instance and import the database contents by using an LDIF file or replication method.

      //For details, see link:TBA when ready [Migrating Directory Server 12 to Directory Server 13].

      Directory Server stores LMDB settings under the `cn=mdb,cn=config,cn=ldbm database,cn=plugins,cn=config` entry that includes the following new configuration parameters:
       
      * `nsslapd-mdb-max-size` sets the database maximum size in bytes.
      +
      Important: Make sure that `nsslapd-mdb-max-size` is large enough to store all intended data. However, the parameter value must not be too high to impact the performance because the database file is memory-mapped.

      * `nsslapd-mdb-max-readers` sets the maximum number of read operations that can be opened at the same time. Directory Server autotunes this setting.

      * `nsslapd-mdb-max-dbs` sets the maximum number of named database instances that can be included within the memory-mapped database file.

      Along with the new LMDB settings, you can still use the `nsslapd-db-home-directory` database configuration parameter.
      Show
      .`389-ds-base` now fully supports LMDB The Lightning Memory-Mapped Database (LMDB), previously available as a Technology Preview in the `389-ds-base` package, is now fully supported. Key benefits include: * LMDB is highly optimized for read operations. * LMDB avoids memory allocations and memory-to-memory copies. * LMDB requires minimal configuration. * LMDB supports multi-threaded and multi-process environments with no deadlocks. * Readers never block writers, and vice versa. * LMDB does not require transaction logs. Starting with RHEL 10, all new Directory Server instances use only LMDB as the database type, and a standard installation with BDB is no longer possible. To migrate your existing BDB instances to LBDM, create a new LMDB instance and import the database contents by using an LDIF file or replication method. //For details, see link:TBA when ready [Migrating Directory Server 12 to Directory Server 13]. Directory Server stores LMDB settings under the `cn=mdb,cn=config,cn=ldbm database,cn=plugins,cn=config` entry that includes the following new configuration parameters:   * `nsslapd-mdb-max-size` sets the database maximum size in bytes. + Important: Make sure that `nsslapd-mdb-max-size` is large enough to store all intended data. However, the parameter value must not be too high to impact the performance because the database file is memory-mapped. * `nsslapd-mdb-max-readers` sets the maximum number of read operations that can be opened at the same time. Directory Server autotunes this setting. * `nsslapd-mdb-max-dbs` sets the maximum number of named database instances that can be included within the memory-mapped database file. Along with the new LMDB settings, you can still use the `nsslapd-db-home-directory` database configuration parameter.
    • Done
    • None

      389-ds has been using the BerkeleyDB libdb database for storage of data.

      Current implementation will be replacing BDB with Lightning Memory-Mapped Database Manager (LMDB) by default.

              idm-ds-dev-bugs IdM DS Dev
              bsmejkal@redhat.com Barbora Simonova
              IdM DS QE
              IdM DS Dev IdM DS Dev
              Barbora Simonova Barbora Simonova
              Evgenia Martyniuk Evgenia Martyniuk
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: