Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have a database with following specs:

  • 30k records, 7mb in size
  • 20 inserts/second
  • 1000 updates/second
  • 1000 range selects/second, by secondary index, approx 10 rows each
  • needs at least one secondary index
  • needs some mechanism to expire keys if they are not updated for 75 secs (can be done via programmatic garbage collector but will require additional 'last_update' index and will add some load)
  • consistency is not required
  • durability is not required
  • db should be stored in memory

For now we use Redis, but it does not have secondary index and it's keys index:foo:* is too slow. Membase also does not have secondary index (as far as I know). MongoDB and MySQL memory engine have table-level locks. What engine will fit our use case?

share|improve this question

One thing you could potentially try is PlayOrm with it's Scalable SQL on top of Cassandra and see if that works out. You may want to try 10 nodes or maybe even 20 as it gets faster the more you parallize the disks on the queries.

share|improve this answer

How about taking a look at VoltDB ? Its in memory and fast.

Riak would also fullfill the goals.


share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.