In order to efficiently find the value for a particular key from a storage engine, need a different data structure: an index - the general idea behind them is to keep some additional metadata on the side, which acts as a signpost and helps you to locate the data you want.
A range of indexing structures will be reviewed:
1.1 Hash Indexes: use hash indexes for key-value data
Limitations:
The hash table must fit in memory.
Range queries are not efficient.
1.2 SSTables and LSM-Trees
elminate the limitations with Hash index by sorting the keys
2. B-tree storage
more traditional solutions.