Ask HN: Are you using Riak? What for? - simonw
======
spahl
At dotCloud we use PostgreSQL, Riak and redis.

\- PostgreSQL for the user database since it maps nicely to django and
sqlalchemy models

\- Redis for caches and non persistent data

\- Riak for everything else

We love the fact that it is easy to scale, that bitcask is safe (it writes to
disk:-p) and easy to backup (rsync or cp is enough).

~~~
econgeeker
I'd be interested in hearing some thoughts on backing up. Would rsync to S3
happening regularly be an adequate solution? Figure if it is on a cron and it
fires every other minute, the deltas would be pretty small, and not much would
be lost if a datacenter or cluster goes down.

------
rckenned
At Yammer we use Riak to power our notifications backend. More details
available here…

<http://blog.basho.com/2011/03/28/Riak-and-Scala-at-Yammer/>

------
grourk
We use Riak at Dropcam to store H.264 video streaming from cameras running
24/7 which needs to be available for playback on the website and mobile apps.
We needed a block store that could scale to handle petabytes, tolerate disk
and node failures, and provide always-on write- and read-ability.

Riak fits the bill very well, though we did need to make a few mods to
workaround certain problems. But it's Erlang/OTP, fairly small code-wise, and
easy to modify.

~~~
spahl
Do you use luwak to store the videos or are they small enough?

~~~
grourk
It's a continuous stream. We break it into chunks similar to what Luwak does,
though.

------
aphyr
We use Riak as our primary datastore at Showyou, with Redis, Solr, and
Memcached helping out. The big advantage of Riak is high availability and easy
management, but for sorting/listing keys, range queries, and low latency we
need other datastores which maintain post-commit-hook updated indices.

~~~
ferrouswheel
Riak provides post-commit hooks:

<http://wiki.basho.com/Pre--and-Post-Commit-Hooks.html>

But I assume you mean these post-commit hooks update other indices stored
outside of Riak.

~~~
aphyr
Yes, sorry, the wording was somewhat ambiguous. We use post-commit-hooks in
riak to update external datastores, as well as callbacks within our ORM for
many indexes stored in Riak itself.

------
tzury
There was recently a poll:what database your company is using? Which within
the commentd riak was mentioned mant times

~~~
fletchowns
<http://news.ycombinator.com/item?id=2684620>

~~~
samstokes
Don't know why that got downvoted, since it's a link to relevant prior
discussion. But here's a more specific link (to the Riak thread in that
discussion): <http://news.ycombinator.com/item?id=2685053>

------
seiji
For now, nothing. My systems use redis as a datastore at first, then move to
riak when they outgrow redis. So far my tiny systems haven't outgrown redis.

When I have time, I'll add distributed counter support to Riak and take over
the world. (Let's count _everything._ In real time with massive concurrency,
full historical resolution, and no single points of failure.)

------
rubyrescue
2 Ruby client projects. Really happy with it. always use it with Redis so we
can get atomicity for things like counters, etc...

------
toastdriven
Using it to power the activity stream of a small site (+ Postgres & Redis). <3

