summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/web/index.html
blob: 2715a0d8bd2e019dcb86025d63497e9b78239c2e (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
81
82
83
84
85
86
87
88
89
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>ldb</TITLE>
</HEAD>
<BODY BGCOLOR="#ffffff" TEXT="#000000" VLINK="#292555" LINK="#292555" ALINK="#cc0033">

<h1>ldb</h1>

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.

<h2>Features</h2>

The main features that separate ldb from other solutions are:

<ul>
<li>Safe multi-reader, multi-writer, using byte range locking
<li>LDAP-like API
<li>fast operation
<li>choice of local tdb or remote LDAP backends
<li>integration with <a href="http://talloc.samba.org">talloc</a>
<li>schema-less operation, for trivial setup
<li>modules for extensions (such as schema support)
<li>easy setup of indexes and attribute properties
<li>ldbedit tool for database editing (reminiscent of 'vipw')
<li>ldif for import/export
</ul>

<h2>Documentation</h2>

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 <a
href="http://samba.org/ftp/unpacked/samba4/source/lib/ldb/include/ldb.h">ldb.h</a>
and the example code in the <a
href="http://samba.org/ftp/unpacked/samba4/source/lib/ldb/tools/">tools
directory</a>. Documentation in the same docbook format used by Samba
would be preferred.

<h2>Discussion and bug reports</h2>

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.

<h2>Download</h2>

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

<pre>
  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
  svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0/source/lib/replace libreplace
</pre>

To fetch via rsync use these commands:

<pre>
  rsync -Pavz samba.org::ftp/unpacked/ldb .
  rsync -Pavz samba.org::ftp/unpacked/tdb .
  rsync -Pavz samba.org::ftp/unpacked/talloc .
  rsync -Pavz samba.org::ftp/unpacked/libreplace .
</pre>

and build in ldb. It will find the other libraries in the directory
above automatically.

<hr>
<tiny>
<a href="http://samba.org/~tridge/">Andrew Tridgell</a><br>
ldb AT tridgell.net
</tiny>

</BODY>
</HTML>