views:

114

answers:

2

I am trying to design a data store implementation like SQLite, BerkeleyDB or CouchDB suitable for a small embedded computer platform. The main criteria is minimal bloat and simple API.

I could not find any products that fit my needs. SQLite is a tad too large and mimics relational databases. CouchDB has a good RESTful API but is bloated.

Basically my goals are:

  • Written in C.
  • Key-value model preferred over relational model.
  • RESTful web server and API.

I am struggling with designing the database backend. What's the best way to store the data? How do I organize it with minimal performance loss? How do other implementations tackle this (SQLite for example)? Is there any literature on this?

Thanks!

+2  A: 

Hi,

try the Qdbm suite (qdbm.sourceforge.net). It' the fastest and more flexible key/value store I've used. You can find a comparaison with other similar packages here:

http://qdbm.sourceforge.net/benchmark.pdf

If the store is read intensive, you can try also the CDB package from DJB.

Hope it helps!

Ass3mbler
+1  A: 

Maybe Redis is what you need?

Eli Bendersky
Thanks, I looked into this. Looks good
lxe