fast datbase CDB

What is cdb?

cdb is a fast, reliable, simple package for creating and reading constant databases. Its database structure provides several features:

  • 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.
  • No random limits: cdb can handle any database up to 4 gigabytes. There are no other restrictions; records don’t even have to fit into memory. Databases are stored in a machine-independent format.
  • Fast atomic database replacement: cdbmake can rewrite an entire database two orders of magnitude faster than other hashing packages.
  • Fast database dumps: cdbdump prints the contents of a database in cdbmake-compatible format.

cdb is designed to be used in mission-critical applications like e-mail. Database replacement is safe against system crashes. Readers don’t have to pause during a rewrite.

wget http://cr.yp.to/cdb/cdb-0.75.tar.gz

if you are using centos 6 you should change source code a bit: grep -r “extern int errno” .

vim ./error.hand should add #include <errno.h> instead of extern int errno

make && make setup check

 

./cdbmake-sv test.cdb test.tmp < /etc/services

./cdbtest < test.cdb

querying database like this:  ./cdbget smtp/tcp < test.cdb && echo ‘ ‘ or

./cdbget @25/tcp < test.cdb && echo ‘ ‘

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *