lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

I've just made the first public release of lua-tinycdb.

Description :
  A binding to the tinycdb[1] library by Michael Tokarev,
  which is a public domain implementation of Daniel J. Bernstein's Constant
  Database (cdb)[2]. A cdb is a key-value store (much like BDB/gdbm), but it
  cannot be updated at runtime (only rebuilt). Reading is very fast, and
  rebuilding is done atomically by building the new database and then
  renaming. Includes the tinycdb source so there are no external dependencies.

  I include below the list of advantages of the cdb database structure, stolen
  (and slightly modified) from D.J. Bernstein's cdb page:
    * Fast lookups: A successful lookup in a large database normally takes
      just two disk accesses. An unsuccessful lookup takes only one.
    * Low overhead: A database uses 2048 bytes, plus 24 bytes per record, plus
      the space for keys and data.
    * Fast atomic database replacement

  [1] =
  [2] =

I am now aware of the existence of luacdb by Taj Khattra
(, which is a binding to
D.J. Bernstein's original cdb library.

I expect this release is fairly feature complete, I'm just giving it a
low version number as it hasn't been well tested on systems other than
my own. See the homepage for an annotated usage example, and the
tinycdb or cdb homepages for more about the constant database format.

License: MIT/X11