Interesting! But not where the original Redis project is headed to (other than Cluster I do not want to add any major feature for a while), so it made a lot of sense to fork and hack on it as a separated project.
I think this approach manages to combine all the disadvantages and almost none of the benefits of SQL and NoSQL (and threads?). It's cute but seriously, where would this ever be practical? Consider the alternatives:<p>If you need concurrent client transactions over sets wouldn't you be better off just using a SQL database?<p>If you need fast KV, why not just use NoSQL over SQL ala memcache or something newer like memcache/innodb[1] ?<p>If you want complex updates over redis why not just use redis 's Lua interface[2]?<p>I think sqlite4's approach[3] (SQL above NoSQL) makes a lot more sense than this since it will presumably let me write a SQL application and deploy it with any KV store.<p>1- <a href="https://blogs.oracle.com/MySQL/entry/nosql_to_mysql_with_memcached" rel="nofollow">https://blogs.oracle.com/MySQL/entry/nosql_to_mysql_with_mem...</a><p>2-
<a href="http://oldblog.antirez.com/post/redis-and-scripting.html" rel="nofollow">http://oldblog.antirez.com/post/redis-and-scripting.html</a><p>3- <a href="http://www.sqlite.org/src4/doc/trunk/www/design.wiki" rel="nofollow">http://www.sqlite.org/src4/doc/trunk/www/design.wiki</a>
Probably a good idea to have antirez feedback on it, and see if this is something that will make sense in Redis overall.
I think the dump as a SQLite DB file is a great idea since it can be potentially used by some other system by simply copying it and have plain old SQL applied to it.
Redis used event loop model to handle requests. So basically, at any time, there is only 1 thread change data. This model make redis fast and still guarantee data is atomic. I wonder if thredis use thread how thredis solve that issue?
Really cool little project. Kudos.<p>Someone posted about one of their projects here the other day, Akiban [0]. While not exactly the same it was also bridging the SQL/NoSQL worlds. Not 100% sure on how it works but it has table-groups to let you pre join collections together (I think).<p>[0] <a href="http://www.akiban.com/" rel="nofollow">http://www.akiban.com/</a>