[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: [ANN] lua-tinycdb-0.1
- From: "A.S. Bradbury" <asbradbury@...>
- Date: Wed, 23 Jan 2008 18:23:30 +0000
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] = http://www.corpit.ru/mjt/tinycdb.html
[2] = http://cr.yp.to/cdb.html
I am now aware of the existence of luacdb by Taj Khattra
(http://www3.telus.net/taj_khattra/luacdb.html), 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
Homepage: http://asbradbury.org/projects/lua-tinycdb/
Download: http://luaforge.net/projects/lua-tinycdb/
Documentation: http://asbradbury.org/projects/lua-tinycdb/#documentation
Bugs: http://code.google.com/p/lua-tinycdb/issues/
Rockspec: http://lists.luaforge.net/pipermail/luarocks-developers/attachments/20080123/46ae6848/lua-tinycdb-0.1-1.obj