On 05/06/11 16:28, hiro wrote:
On Tue, May 3, 2011 at 8:38 PM, pancake<panc...@youterm.com>  wrote:
You may like starting to play with sdb.

http://hg.youterm.com/sdb

Its a nosql-like (key-value db) based on cdb, but with a decent api and aiming 
to provide a memcache network protocol. Its about 1000 LOC atm.

Contribs are welcome
I don't really understand. sdb is essentially a ramfs without folders,
but hidden behind a CLI?

it's a hashtable. why you try to explain such a simple concept in that complicated way?
I would either have to run stuff on my server (128MB RAM) or use web
services like gmail which I don't have to pay for.

i dont get the point. maybe you need to get a job to earn some money.
And memcached seems to me like a complicated nontransparent cache with
tcp/ip interface.

complicated? is the most simple implementation for storing data. why non transparent?

it's rather simple.
What is all this stuff good for?

you have O(1) times to access the information, you can build any data structure on top of a keyvalue database, you can use it from shell, as a library from C or networkedly using netcat or a memcache client.

it's stupidly simple to replicate memcache-like servers and it's lightweight.

what i did in sdb is a hashtable (memory) database which syncs to disk using a slightly modified version of cdb. it is just faster than any other implementation out there.the only problem is that the disk database is always fully replaced atomically. this means that if you have zillions of rows it will take some seconds to write to disk instead of just updating what has been modified.

You can split up the key space with namespaces, so you can create a pseudo-tree structure like in cassandra, and get better scaling times. or use different databases for each key group.. and get faster times for listing the whole database.

Also key expiration times are not yet implemented..but it would be just simple to do.

I also write a vala interface for it, this means that if you use 'valaswig' you can just build bindings for sdb for python, ruby, perl, lua, java, ... but that's not really suckless at all :P

--pancake

Reply via email to