public
Description: A fast in-memory tagging database
Homepage: http://www.dekorte.com/projects/opensource/tagdb/
Clone URL: git://github.com/stevedekorte/tagdb.git
Steve Dekorte (author)
Thu Jan 01 20:48:14 -0800 2009
commit  5d5345e3a53dc570bcbeccd9e874ae53be4250cc
tree    d2545b29f0bb7f14b71b63102d06209c41d1aef3
parent  a18f702e97ec9e9d42d015c6b8d1e29b6692947c
tagdb /
name age message
file .gitignore Thu Jan 01 20:14:29 -0800 2009 first commit [Steve Dekorte]
file Makefile Thu Jan 01 20:14:29 -0800 2009 first commit [Steve Dekorte]
file README.txt Thu Jan 01 20:48:14 -0800 2009 README formatting [Steve Dekorte]
directory dependencies/ Thu Jan 01 20:14:29 -0800 2009 first commit [Steve Dekorte]
directory docs/ Thu Jan 01 20:14:29 -0800 2009 first commit [Steve Dekorte]
directory license/ Thu Jan 01 20:14:29 -0800 2009 first commit [Steve Dekorte]
directory projects/ Thu Jan 01 20:14:29 -0800 2009 first commit [Steve Dekorte]
directory source/ Thu Jan 01 20:14:29 -0800 2009 first commit [Steve Dekorte]
directory tests/ Thu Jan 01 20:42:46 -0800 2009 added README.txt [Steve Dekorte]
README.txt
A fast in-memory tagging database (an example application would be flickr like image tagging)
 using TokyoCabinet as a backing store. The key-to-tags table is read on start up and searches 
are done on it in-memory. Inserts and updates are transactionally saved to TokyoCabinet as they 
are made. There are lots of things that could be done to improve search performance 
(by several orders of magnitude) and reduce memory consumption, but the current implementation 
focuses on simplicity and is good enough for use in desktop apps.

features:
  - small implementation (~245 C statements) 
  - reasonably small in-memory footprint (~36 bytes per record assuming ~3 tags per record)
  - reasonably fast (less than 10ms to search 1 million records on a 2.5Ghz Core Duo)