hash database (hdb32) multitool

README


This is hdb, a hash database (hdb32) multitool.

The hdb package provides a single, multipurpose utility used to generate,
query, analyze, and operate on hash database files in the hdb(5) file
format.

-Say what?

An hdb database is implemented as a partitioned hash table.  It provides
a set of mappings for record keys to record values, where both keys and
values are any arbitrary strings of bytes.

An hdb file is specifically designed as a "write-once, read-many" (worm)
datastore.  It is generally used by applications requiring fast read access
to "constant" data, that is, data that don't change too much (you define
"too much").  The hdb(5) file format is modeled after the cdb(5) constant
database specification by Daniel J. Bernstein, but with different internals
and enhanced capabilities.

-So?

The hdb utility provides a single, efficient, and easy to use utility
for working with hdb files.  It provides a complete set of database
functions at the command line, including basic set operations.  Generating
an hdb database is on the order of 100x faster when compared to building
a Berkeley DB or GNU DBM hash database.  The hdb file format is also
slightly smaller, faster, and better-suited to modern environments when
compared to the cdb format.

-You wish!

Sigh...


Package Layout:

  ./CHANGES     what's new
  ./EXAMPLE     brief tutorial
  ./INSTALL     how to install
  ./LICENSE     copyright/license info
  ./README      here you be
  ./conf.mk     build/install configuration file
  ./data/*      sample testing data
  ./lasagna/*   libasagna utility library sources
  ./man/*       manual pages
  ./share/*     file(1) magic(5) entry
  .*.[ch]       build sources


Requirements:

This package is intended to build, install and run on any contemporary
un!x platform without additional requirements.  It has been tested on
the following platforms:

  Linux 2.6+, i686, gcc + gnu libc
  Linux 2.6+, i686, gcc + dietlibc
  Linux 2.6+, x86_64, gcc + dietlibc
  NetBSD 5.0, i386


Installation:

See INSTALL for complete installation instructions.  


Documentation:

The utility is documented in its own manual page, hdb.1, located in
the ./man subdirectory of the package.

The hdb32 file format is described in the manual page hdb.5, also in
the ./man subdirectory of the package.


More information:

http://b0llix.net/hdb/


### EOF