ldb
ldb is a LDAP-like embedded database. It is not at all
LDAP
standards compliant, so if you want a standards compliant database then please
see the excellent OpenLDAP
project.
What ldb does is provide a fast database with an LDAP-like API
designed to be used within an application. In some ways it can be seen
as a intermediate solution between key-value pair databases and a real
LDAP database.
ldb is the database engine used in Samba4.
Features
The main features that separate ldb from other solutions are:
- Safe multi-reader, multi-writer, using byte range locking
- LDAP-like API
- fast operation
- choice of local tdb or remote LDAP backends
- integration with talloc
- schema-less operation, for trivial setup
- modules for extensions (such as schema support)
- easy setup of indexes and attribute properties
- LDIF for import/export
- ldbedit tool for database (via LDIF) editing (reminiscent of 'vipw')
Documentation
Currently ldb is completely lacking in programmer or user
documentation. This is your opportunity to make a contribution! Start
with the public functions declared in ldb.h
and the example code in the tools
directory. Documentation in the same docbook format used by Samba
would be preferred.
Discussion and bug reports
ldb does not have its own mailing list or bug tracking system. Please
use
the samba-technical
mailing list, and the Samba
bugzilla bug tracking system.
Download
You can download the latest release here:
http://samba.org/ftp/pub/ldb
Alternatively, you can fetch via git. See the following guide:
Using Git for Samba Development
Andrew Tridgell
ldb AT tridgell.net