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!