7

I'm looking for an in-memory database used to simply record metrics of read and writes done on parts of a database so that I know which queries are executed most often. I also want this in-memory database to be distributed over nodes, as is the main database.

Any advice? Are there better alternatives to redis, memcached and hazelcast?

Ree
  • 863
  • 2
  • 18
  • 38
  • 1
    You should check that your database server's logging/profiling tools to see if they meet your needs before building something. – Joshua Martell Apr 16 '14 at 04:05
  • I would try all of them and see which fits your needs best - you'll unlikely to find a one-fits-all solution in the space of in-memory database / datagrid – noctarius Apr 15 '14 at 21:07

2 Answers2

9

Among those you've mentioned, hazelcast might be good to look at even if you're just planning to do memcached, since hazelcast supports the memcached protocol, and thus provides an elastically scalable memcached, in essence.

http://hazelcast.org/docs/latest/manual/html-single/hazelcast-documentation.html#memcache-client

You might enjoy Redis if you need lots of client language bindings. If you are Java focused, hazelcast may be the best option.

But you should try them all and see what fits your needs best.

0

You should also check out GridGain: www.gridgain.org.

It is also Open Source and MemCached compliant, but generally shows very good performance and has much richer feature set, like clustering, distributed SQL queries, streaming, etc., including support for C++ and .NET clients.

Alexey
  • 406
  • 3
  • 6