Search code examples
databaseamazon-web-servicesriak

How does Riak nodes distribute data


We have a single production node of riak for our game. We would like to backup our database constantly, so we decided to start up some other nodes.

We're trying to use AWS free tier. What we see is that some parts of data just moved to second node, leaving us with high pings to aws, sometimes timeouts.

Is that correct scheme of riak nodes working? Do they just distribute parts of data amongs them and DO NOT contain whole database in case of disaster?

We are using LevelDB backend. Thank you.


Solution

  • This is how Riak works. The whole idea of a scalable database is distributing the load between its nodes. Riak achieves this by hashing a key and directing the reads/writes to a node responsible for that key. As of disaster recovery, Riak can store a number of replicas for each key if told so (n_val configuration property), so that if the primary node responsible for the key fails, the cluster will be still able to serve reads/writes to that key using replicas on other nodes. After the failed node comes back or is replaced by a new one, the data will be handed off to it (re-distributed).

    I hope this answers your question. I would also suggest you to read through the Riak documentation at https://docs.basho.com/. It is really good.