summaryrefslogtreecommitdiff
path: root/ldb/mainpage.dox
blob: bbd8d9c5025cf43c4365395e73926c0da1b7d62f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/**

\mainpage ldb

\section Overview

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 <a href="http://www.openldap.org/">OpenLDAP</a>
project.<p>

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.<p>

ldb is the database engine used in Samba4.

\section 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, local sqlite3 or remote LDAP backends
 - integration with <a href="http://talloc.samba.org">talloc</a>
 - schema-less operation, for trivial setup
 - modules for extensions (such as schema support)
 - easy setup of indexes and attribute properties
 - ldbedit tool for database editing (reminiscent of 'vipw')
 - ldif for import/export

\section Documentation

ldb has limited programmer and administrator documentation:
 - a list of <a href="globals_func.html">functions</a>
 - a list of <a href="examples.html">examples</a>
 - a list of <a href="annotated.html">data structures</a>
 - a list of <a href="globals_defs.html">constants</a>

If you need more information than is presented in this document, you
may wish to look at the source code, especially the source code in the
<a href="http://samba.org/ftp/unpacked/samba4/source/lib/ldb/tools/">tools directory</a>. 

ldb makes use of the LDAP Data Interchange Format (LDIF), which is
documented in <a href="http://www.ietf.org/rfc/rfc2849.txt">RFC
2849</a>. 

\section Support

ldb does not currently have its own mailing list or bug tracking
system. For now, please use the <a
href="https://lists.samba.org/mailman/listinfo/samba-technical">samba-technical</a>
mailing list, and the <a href="http://bugzilla.samba.org/">Samba
bugzilla</a> bug tracking system.

\section Download

You can download the latest release either via rsync or anonymous
svn. To fetch via svn use the following commands:

\verbatim
  svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0/source/lib/ldb ldb
  svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0/source/lib/tdb tdb
  svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0/source/lib/talloc talloc
\endverbatim

To fetch via rsync use these commands:

\verbatim
  rsync -Pavz samba.org::ftp/unpacked/samba4/source/lib/ldb .
  rsync -Pavz samba.org::ftp/unpacked/samba4/source/lib/tdb .
  rsync -Pavz samba.org::ftp/unpacked/samba4/source/lib/talloc .
\endverbatim

\section Credits

ldb is another product of the prolific <a href="http://samba.org/~tridge/">Andrew Tridgell</a>.

*/