Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
a mirror of the key-value database from
branch: master

first commit

latest commit 6916db591b
kuno authored
Failed to load latest commit information.
doc first commit
python first commit
t first commit
AUTHORS first commit
CREDITS first commit
ChangeLog first commit
INSTALL first commit
LICENSE first commit
README first commit
TODO first commit first commit
beansdb.c first commit
beansdb.h first commit
fnv1a.h first commit
htree.c first commit
htree.h first commit
item.c first commit
stats.c first commit
thread.c first commit


What is Beansdb?
Beansdb is a distributed key-value storage system designed for large scale 
online system, aiming for high avaliablility and easy management. It took 
the ideas from Amazon's Dynamo, then made some simplify to Keep It Simple 
Stupid (KISS). 
The clients write to N Beansdb node, then read from R of them (solving 
conflict). Data in different nodes is synced through hash tree, in cronjob. 
Beansdb base on memcached and Tokyo Cabinet, with efficient persistant 
hash tree (called Hex Tree) support.
It conforms to memcache protocol (not completed, see below), so any memcached 
client can interactive with it without any modification.  
Beansdb is heavy used in, stored images, mp3,  text 
fields and so on, see benchmark below.
Any suggestion or feedback is welcome.

* High availability data storage with multi readable and writable repications
* Soft state and final consistency, synced with hash tree
* Easy Scaling out without interrupting online service
* High performance read/write for a key-value based object
* Configurable availability/consistency by N,W,R
* Memcache protocol compatibility

Supported memcache commands
get, gets 
set(with version support)

Private commands
get @xxx, list the content of hash tree, such as @0
get ?xxx, get the meta data of key.

For more info, see:
Something went wrong with that request. Please try again.