Sunday, March 27, 2005

sqlite btree as alternative to BerkeleyDB

I am looking for an embedded, transactional B-Tree database alternative to BerkeleyDB. You ask me what's wrong with Berkeley DB. Well, there are no technical issues but the license is not free for commercial use. Unfortunately I couldn't find one :-(. db-1.85 doesn't fit the bill because it doesn't support transactions. Same problem with gdbm. db.* looked promising but that requires a schema definition.

I already knew about SQLite and remembered reading that it's B-Tree API could possibly be used independently. This was in the back of my mind for a long time, so I set to find out if that's the case. I found that the SQLite's B-Tree API provides a surprisingly clean and complete B-Tree interface with transaction support. There is a TCL based test suite (test3.c) that serves as a good example of how the API can be used.

I am writing a test program to excercise the API. I'll blog my progress.

1 comment:

H.T. Chen said...

whats the progress? could you post it?