Best way to back-up riak

Justin Sheehy justin at basho.com
Sun Jul 11 22:14:16 EDT 2010


Hi, Jan.

On Sun, Jul 11, 2010 at 8:53 PM, Jan Vincent <jvliwanag at gmail.com> wrote:

> Given that riak is new in the database field, if ever I use riak in production,
> what would be the best way to back it up? I know that there's redundancy
> on the different nodes and NRW may be modifiable per request, but I'm
> wondering if there's a way to snapshot the dataset periodically -- at least
> until riak becomes provably battle tested.

Riak is fairly battle-tested already: we were using its prior version
under Basho's own customer-facing applications in 2008, and a number
of external customers and users are in production today.  That said,
even a solid distributed database needs to be backed up as there are
many reasons to have backups.

The easiest and best way to back up Riak is, if you are using bitcask
(the default) as the backend, to simply back up the filesystem of your
nodes with whatever backup system you use for the rest of your
systems.  Bitcask uses append-only files, and once it closes a file it
will never change the content of that file again.  This makes it very
backup-friendly.

If you are using a backend with less backup-friendly disk format (such
as innostore) then you can use the "riak-admin backup" command at
either the per-node or whole-cluster level to produce a
backend-independent snapshot that can be loaded back in via
"riak-admin restore".  This method is much slower, will impose
additional load on your cluster when running, and requires that you
have a place to put the generated snapshot.  However, it will work
regardless of backend and is also a simple if heavyweight way to
migrate to a cluster with a different configuration.

-Justin




More information about the riak-users mailing list