How does Aerospike compare to memcache?

by peter » Wed Jul 02, 2014 8:41 am

Aerospike is comparable to memcache, but a bit slower because Aerospike does clustering work. On a single node system, it should be approximately the same. On a two (or more) node cluster it will be a bit slower for writes since it does 2 copy writes for every write.

So why use Aerospike? – The clustering gives you enormous capacity with almost the same throughput and latency of memcache.

by bbulkow » Thu Jul 31, 2014 2:23 pm

Aerospike can actually be faster than Memcache in some environments.

Aerospike is multithreaded, and uses an efficient binary protocol. Even on a single server system, Aerospike may have improved performance. Aerospike can also be configured with only one copy of the data, which will make the system more comparable to MemCache in performance.

Aerospike provides many of the same features as Memcache, such as append, as CAS. However, Aerospike supports transparent clustering, in-database types (for transparent multi-language access), persistence, etc etc.

I assume we’d also be able to search and flush keys by wildcard, which memcache doesn’t allow…

Sort of. Aerospike has some functionality to do in-database maintenance.

You can scan all keys, and delete the ones you’d like to delete.

You can build a “scan udf”, which will do that scan in-databases.

You can build an index on a bin (column), and query or delete that

You can drop a set (which is like a table)

But, as Aerospike is a KVS that shards based on the digest of the key (a consistent hash), you can’t do a range lookup, or wildcard lookup, on a key.

Hopefully that helps…