2. Origin
• Used by Zynga to power their social gaming
backend
• Founded by the creator of memcache
• Available as Open Source or Commercial
(supported) product
3. Memcache
• Key Value Store
• Memcache Protocol
Memcache (Binary/ASCII)
4. Persistent
Memcache
Memcache
• Every key/value is made
persistent (in sqlite)
persistence engine
sqlite
5. Sharded
•using vbuckets (collection of keys)
• can use any vbucket aware client (e.g. moxi)
• there is a default balancer on the “master”
Moxi
Memcache Memcache ...
persistance persistance
6. Replicated
• using vbuckets (collection of keys)
vbucket vbucket’
Memcache Memcache
persistance persistance ...
TAP protocol
ns_server ns_server
7. Notes
• only manual fail over
• rebalancing happens without interruption
• Moxi can be installed on client or membase server
(or implemented in client library)
• membase bucket (virtual membase server)
• can set replication factor
• and determine size in memory
8. Personal notes
• Very nice UI to manage
• easy setup
• pretty young (not too active mailing list/irc channel)
• perfect fit for rails app since drop in replacement for memcache
• We use it with dalli (https://github.com/mperham/dalli)
• source compile is tough getting it right
• is a mixture of many components (memcache, persistance engine,
libevent, ns_server, erlang )
• we use it as persistent memcache currently