Choosing a Backend

Pluggable storage backends are a key feature of Riak KV. They enable you to choose a low-level storage engine that suits specific operational needs. For example, if your use case requires maximum throughput, data persistence, and a bounded keyspace, then Bitcask is a good choice. On the other hand, if you need to store a large number of keys or to use secondary indexes, LevelDB is likely a better choice.

The following backends are supported:

Riak KV supports the use of custom storage backends as well. See the storage Backend API for more details.

Feature or Characteristic Bitcask LevelDB Memory Leveled
Default Riak KV backend
Persistent
Keyspace in RAM
Keyspace can be greater than available RAM
Keyspace loaded into RAM on startup1
Objects in RAM
Object expiration
Secondary indexes
Tiered storage

1 Noted here since this can affect Riak start times for large keyspaces.