memcachedb is a better and simplified tugela, but more. It is designed for persistent, not for cache. It enables bdb's transaction(so never lost data) and no expiration concept exsited. For better performance, we use a fixed length of key and value. The code is simple and clear(about 1300+ lines), and also very internal, but already on our production for high traffic pageview countering.
At the same time, we are testing memcachedb replication feature, and may ready on next release. Source code is available on: http://code.google.com/p/memcachedb/ Here comes the README file: What is memcachedb? ******************* Memcachedb is a distributed storage system designed for persistent. We simplely hacked from memcached and tugela. But neither of them. Memcachedb is not a cache solution, it is a persistent solution for high-frequency writing and reading. It conforms to memcache protocol(not completed, see below), so any memcached client can have connectivity with memcachedb. Memcachedb uses Berkeley DB as a storing backend, so lots of features including transaction and replication are supported. memcachedb Features ******************* High network performance, thanks to memcached and libevent(we using epoll). High storage performance, Using Berkeley DB BTREE Access Method, and bdb's own MPOOL. High availability, Berkeley DB Transaction supported, and replication will be ready later. Supported memcache command ************************** get, set, add, replace incr, decr delete stats db_checkpoint, db_archive (not in memcache protocol) We Stand on the shoulders of giants, Memcachedb source code is based on: * Memcached: http://www.danga.com/memcached/ * Tugela: http://meta.wikimedia.org/wiki/Tugela_Cache -- Steve Chu http://www.sina.com.cn
