D. J. Bernstein
Data structures and program structures

cdb

How to install cdb
The cdbget program
The cdbmake and cdbdump programs
The cdbstats and cdbtest programs

The cdb format specification
The cdb-reading library interface


cdb is discussed on the cdb mailing list.

What is it?

cdb is a fast, reliable, simple package for creating and reading constant databases. Its database structure provides several features: cdb is designed to be used in mission-critical applications like e-mail. Database replacement is safe against system crashes. Readers don't have to pause during a rewrite.

Information for distributors

You may distribute unmodified copies of the cdb package.

Packages that need to read cdb files should incorporate the necessary portions of the cdb library rather than relying on an external cdb library.

Related packages

Tim Goodwin's CDB_File is a Perl interface to cdb.

M. J. Pomraning's python-cdb is a Python interface to cdb.

Kazuteru Okahashi's ruby-cdb is a Ruby interface to cdb.

Michael Alyn Miller's sg-cdb is a Java library to read cdb files.

Taj Khattra's luacdb is a Lua interface to cdb.

Felix von Leitner's rdbm combines cdb with a separate journal of database updates.

David Wilson's python-pure-cdb is a Python reimplementation of cdb.

cdb is used in my djbdns, fastforward, mess822, qmail, and ucspi-tcp packages.