Q:

Key Value Store for large list of integer values

My application requires a key value store. Following are some of the details regarding key values:
1)  Number of keys (data type: string) can either be 256, 1024 or 4096.
2)  Data type of values against each key is a list of integers.
3)  The list of integers (value) against each key can vary in size
4)  The largest size of the value can be around 10,000,000 integers
5)  Some keys might contain very small list of integers

The application needs fast access to the list of integers against a specified key . However, this step is not frequent in the working of the application.
I need suggestions for best Key value stores for my case. I need fast retrieval of values against key and value size can be around 512 MB or more.
I checked Redis but it requires the store to be stored in memory. However, in the given scenario I think I should look for disk based key value stores.

A:

LevelDB can fit your use case very well, as you have limited number of keys (given you have enough disk space for your requirements), and might not need a distributed solution.
One thing you need to specify is if (and how) you wish to modify the lists once in the db, as levelDB and many other general key-val stores do not have such atomic  transactions.
If you are looking for a distributed db, cassandra is good, as it will also let you insert/remove individual list elements.

