libdb

Berkeley DB, continued — an embedded, transactional key/value store.

libdb is a community continuation of Berkeley DB, maintained by a former member of Sleepycat Software and Oracle's Berkeley DB team. It keeps Berkeley DB what it has always been — a small, fast, embedded library (no server, no daemon) that links directly into your process — while modernizing the build, the tests, and the code.

What it is: ACID transactions write-ahead log + crash recovery B-tree · Hash · Queue · Recno concurrent multi-process C / C++ / SQL tiny footprint

Get it

Latest release: v5.3.33 (notes).

git clone https://github.com/berkeleydb/libdb.git
cd libdb/build_unix
../dist/configure && make

Also builds with Meson/Ninja (meson setup build && ninja -C build) and ships a Nix flake (nix build github:berkeleydb/libdb).

Releases

VersionNotes
v5.3.33Testing depth: DST fault-class parity + formal verification (CBMC), PBT hardening
v5.3.32Coverage & correctness: full-suite coverage to the mid-70s, several bug fixes
v5.3.31Testing & hardening: fuzzing, malloc-injection, 10 bug fixes
v5.3.30SSI (serializable snapshot isolation) hardening, build hygiene
v5.3.28Berkeley DB 11gR2 (11.2.5.3.28) — the last Oracle open-source release
v4.6.21-SSICahill SSI prototype (SIGMOD 2008), historical

All releases → · Oracle's original tarballs mirror at osuosl.org · FreeBSD keeps a full source+patch archive.

Documentation

The Berkeley DB Reference is the modernized, single-sourced manual for the current release — the C and C++/STL API reference, the Programmer's Reference, the Getting Started guides (data storage, transactions, replication), installation, upgrading, porting, and Berkeley DB SQL. Generated from Markdown, it is also available as PDF and man pages (man libdb, man db_get, …).

The manuals apply to the current 5.3.33 release; the on-disk, log, and API formats are stable across the 5.3 line.

Historical archive

The original Oracle DocBook manuals are kept for reference: Berkeley DB 5.3.28 · 5.3.21 (11gR2) · Berkeley DB XML 2.5.16. The C#/Java language-binding docs are archived separately.

Project status

Actively maintained. The single-node transactional core is production-grade and, by the fork's own measure, better-tested than the last Oracle release: unit tests, deterministic simulation testing (crash / torn-write / corruption / disk-full / clock-skew / crash-during-recovery / multi-process failchk / buggify), property-based tests, fuzzing, malloc-fault injection, static analysis + ABI checks, and CBMC formal verification — all run in CI across Linux, macOS, 32-bit, and multiple compilers and mutex backends.

License: the historical Sleepycat license for the original code; see the repository for details on newer contributions.