Storage of time-series data

Joel Pitt joel.pitt at gmail.com
Mon May 17 20:31:21 EDT 2010


Hi,

I'm trying to work out the best way of storing temporal data in Riak.

I've been investigating several NoSQL solutions and originally started
out using CouchDB, however I want to move to a db that scales more
gradually (CouchDB scales, but you really have to set up the
architecture before-hand and I'd prefer to be able to build a cluster
a node at a time)

In CouchDB, I use a multi-level key in a map-reduce view to create an
index by time. Each reduce level corresponds to year, month, day,
time... so I can easily get aggregate data for say a month.

In addition to Riak I'm investigating Cassandra. In Cassandra the way
to store time series is by making the column keys timestamps and
sorting columns by TimeUUID. This allows one to do slices across a
range of time. This isn't exactly the same as what I have in CouchDB,
but by consensus it seems to be the way to store a time index.

Any suggestions for working with or creating time indexes in Riak?

Ideally I'd be able to query documents with a time range to either get
the documents, or to calculate aggregate statistics using a map-reduce
task.

Any information appreciated :-)

Joel Pitt, PhD | http://ferrouswheel.me | +64 21 101 7308
NetEmpathy Co-founder | http://netempathy.com
OpenCog Developer | http://opencog.org
Board member, Humanity+ | http://humanityplus.org




More information about the riak-users mailing list