Diskstore and a new b-tree implementation
antirez.com
antirez.com
Eventually maybe the fs solution can just be removed... it was a way to get started with the caching layer asap.
Both BDB and innoDB are mature implementations of on disk KV stores, but unfortunately there are licensing issues in one case, and code not clean / bloated in another case preventing me from using this solutions.
Basically my reasoning is always: if there is a good supported library that I like, I can use this, otherwise it is probably more interesting to learn something new. When I'll write recovery tools, deal with bugs, and so forth, it is better to deal with your own code if there isn't something of readily available, sanely licensed, simple to undertand, and small enough.
So what I'll do is to provide a minimal, clean, possibly toy-sh btree implementation outside Redis as a stand alone github project. Put it into BSD. Wait for requests of collaboration and code. A BSD-licensed library not bound to Redis is my way to say: let's collaborate on this.
If the author of Tokyo Cabinet will join the effort, well, we'll be very lucky as we have an expert on board. But I suspect that anyway we are going to take some good contribution anyway, as this is a project that can be useful for many.