Code review comment for lp:~posulliv/drizzle/simple-tc-engine

Revision history for this message
Padraig O'Sullivan (posulliv) wrote :

This merge proposal consists of a simple in-memory storage engine that uses the Tokyo Cabinet in-memory hash API. It also includes a very lacking test suite with 2 small test files for the storage engine. Since this proposal is a little bit out of nowhere and you are probably wondering why the heck I did this, let me explain why I did it...

I'm taking a distributed systems class this semester for fun which will involve a project. I've managed to get a project involving Drizzle approved. What I plan on doing is investigating how to use cloud storage services (such as S3) as the storage backend for a SQL engine (which will be drizzle) and how to implement various consistency protocols over an eventually consistent data store such as S3. Since S3 is basically a key/value store (as described in the Dynamo paper), I wanted to get some practice creating a storage engine using a key/value store interface. Thus, I found Brian's posting on a Tokyo Cabinet based storage engine from a while back and went with that. I ported it to Drizzle and modified it to use the in-memory API calls from Tokyo Cabinet for the heck of it. This will help me in getting my basic S3 storage engine working in the next few weeks as I now have a good idea of how to create a storage engine using a key/value store interface.

I wasn't sure what to do with this engine, so I figured I'd propose it for merging. I also remember Brian's post about a new memory engine so I thought this might make a good start. I'm open to giving this over to someone. I was also under the impression this doesn't really conflict with BlitzDB. From what I understand about BlitzDB, its aimed at being a more general purpose storage engine but then again, maybe I should give this to Toru and he can do what he likes with it.

Anyway, any comments are more than welcome. If no-one is interested in this, or it doesn't prove very useful, well then this proposal can be ignored :) It was good practice for working with a key/value store for me! Alternatively, if there is interest, I can work on it more in my spare time to make it a better in-memory engine if that is desirable.

-Padraig

« Back to merge proposal