Is Riak right for me?

Mike Stoddart stodge at gmail.com
Fri Feb 11 08:49:14 EST 2011


Riak is very appealing for several reasons; scalability, durability,
open-source, performance etc. I'm currently using PostgreSQL for all
my storage needs, but I'm investigating nosql (can I use that name?)
solutions for scalability and to experiment with map/reduce
functionality for statistics and reporting.

I have a few requirements that nosql solutions might not be able to meet.

1) Every second I take a snapshot of my data and store it in the
database in one record. Each recorded snapshot includes the timestamp
it was taken.

2) I have a playback feature that lets me retrieve historical data.
During playback, the browser requests a recorded snapshot every
second:

   2011-01-01 08:00:00
   2011-01-01 08:00:01
   2011-01-01 08:00:02
   2011-01-01 08:00:03 ...

Currently it takes less than 75ms for the server to retrieve the data
from PostgreSQL and to return it to the browser. Some processing is
done before the response is sent.

3) Every second each client's browser requests the current data
snapshot (i.e. not in playback mode). The same comment for timing and
processing applies from 2).

4) Every minute I retrieve statistics and a report for a specific type
of data to present on the browser. Currently with PostgreSQL this
takes about 2-3s for the web server to retrieve the data, process it
and return it to the browser.

The only primary key I use is a serial integer, only because that's
the default. I don't see anything in my data that would be useful as a
key when using a key/value database. My data is a good fit for storing
as a 'document' though.

I know there might not be enough information here but do you think
Riak is a good fit?

Thanks
Mike




More information about the riak-users mailing list