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
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.