Update, 2009-10-24: Fixed a bug, and committed a couple other improvements — TillStore 0.2.0 is released!
I went to nosqlberlin last week and I got inspired. I listened to a lot of interesting talks — most notably about Redis, CouchDB, Riak and MongoDB (I’m omitting two talks, which of course were not less awesome than the rest!) Due to an unfortunate circumstance I had six hours to hack on stuff from Thursday to Friday.
And here it is — I’m proud to present my very own approach to key-value stores: TillStore!
What is a key-value store?
In a nutshell, a key-value store is a database for values (Doh!). There are no duplicates, it’s always a key mapped to a value. No bells and whistles — most just want to be fast. Eventually consistent is another attribute which most of them like to claim for themselves. The value term (in key-value store) is very flexible. Some key-value stores only support certain types, TillStore supports them all through JSON. ;-)
Other examples for key-value stores include Riak, Redis, Cassandra and Tokyo Cabinet.
TillStore?
So vain, right? Well, in the beginning TillStore was an inside joke with a colleague. And to be honest, TillStore was nothing more but the following:
<?php
$tillStore = array();
?>
However, when I had time to hack away on Thursday night, I took it a slightly higher level. ;-)