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||✓|
|Keyspace in RAM||✓||✓|
|Keyspace can be greater than available RAM||✓|
|Keyspace loaded into RAM on startup1||✓|
|Objects in RAM||✓|
1 Noted here since this can affect Riak start times for large keyspaces.