What is the best data-store or technique if we were to store millions of integer lists identified by a unique key. The following functions are intended on such lists:
1. Read for a given key
2. Add items to the end of the list against a key
3. Read portions of this list, from-to index
4. Rarely, remove items from the list
The data size is estimated to be roughly 100-million keys, with average of 2-3 thousand integer-list per key.
The key itself is an integer.