[ANN] memcachedb 1.0.0 beta is released, new feature ready and big performance improved

Steve Chu stvchu at gmail.com
Thu Feb 14 03:43:54 UTC 2008


After two weeks testing, we are ready to ship 1.0.0-beta to the public
domain. 1.0.0 version has been entirely written based on memcached
1.2.x code base. Here's ChangLog:

    * Almost entire code is rewritten based on Memcached 1.2.x.
    * More memcache protocol compatibility, now multiple get and flags
are supported, also udp and unix socket is ready(not yet tested).
    * Big performance improved due to memcached 1.2.x code base.
Thread is used to resolve the blocked I/O.
    * Use standard build tool, "./configure;make;make install" and done.
    * Two new pravite command for replication to set/get priority. See
"doc/replication.txt".

The banchmark of Memcachedb-1.0.0-beta can be found in
<http://code.google.com/p/memcachedb/wiki/Benchmark>.

Here's summary:
8 concurrents, every process does 2,000,000 get/set with a 16 bytes
key and 100 bytes value on a Dell 2950 box
Non-thread Edition: 18868 w/s, 44444 r/s
Thread Edition(4 Threads): 23564 w/s, 64257 r/s

Download it here:
<http://memcachedb.googlecode.com/files/memcachedb-1.0.0-beta.tar.gz>

See more info, please visit: <http://code.google.com/p/memcachedb/>

====================================================================

What is Memcachedb?

Memcachedb is a distributed key-value storage system designed for
persistent. It is not a cache solution, but a persistent storage for
high-frequency writing and reading. It conforms to memcache
protocol(not completed, see below), so any memcached client can have
connectivity with it. Memcachedb uses Berkeley DB as a storing
backend, so lots of features including transaction and replication are
supported.
Memcachedb Features

    * High performance read/write for a key-value based object
    * High reliable persistent storage with transcation
    * High availability data storage with replication
    * Memcache protocol compatibility

Supported memcache command

    * get(also mutiple get)
    * set, add, replace
    * incr, decr
    * delete
    * stats

Private commands

    * db_checkpoint
    * db_archive
    * rep_ismaster
    * rep_whoismaster
    * rep_get_priority
    * rep_set_priority

Some Warning

Expire time has been discarded in memcachedb(we are for persistent:p),
so you should not use any corresponding features of clients. The
daemon does nothing while you give a expire time of item.

We Stand on the shoulders of giants, Memcachedb source code is based
on Memcached.

-- 
Steve Chu
http://stvchu.org


More information about the memcached mailing list