hash database (hdb32) multitool


Welcome to hdb, the hash database (hdb32) multitool.

What you can do here:

Or read on...


The hdb package provides a single, easy to use command-line utility to create, query, analyze and operate on hash database files in the hdb(5) data format.

A hash database provides a set of mappings for record keys to record values. It is a design that makes for very fast file retrieval, as the physical location of any particular record is directly computed from the value of its key.

An hdb file is implemented as a "write-once, read-many" datastore. When making any change to the data, the hdb file is regenerated from the complete record set and atomically moved into position. It is a simple paradigm that eliminates many of the complexities related to concurrency and record locking, problems that are normally encountered in database applications.

And creating an hdb file from an input source is extremely fast, typically on the order of 100 times faster when compared to generating Berkeley DB or GNU DBM datafiles.

hdb's are most suitable for applications where the data remains relatively invariant, keys are known, and data access is primarily read-only. That is, things like a user/password database, a chart of accounts for a general ledger, or a periodic table of the elements are perfect applications for an hdb database.

And long-running applications that use hdb files for configuration parameters can be designed to run continuously, without interruption. Just update the hdb, and the application will immediately start using the new data on the fly.

The hdb file format is a successor to the cdb file format originally developed in 1996 by Daniel J. Bernstein. Since hdb's are slightly smaller, faster, and better-suited to modern environments, we recommend them over cdb for any new development.


hdb is similar in purpose to the original cdb package (and which is supported by our own ezcdb package), but provides a contemporary update with some really keeno advantages:

Meanwhile, hdb continues in the established b0llix tradition with:

And the author is even a friendly fellow, more than half the time!