What is an SSTable?
In BigTable/GFS and Cassandra terminology, what is the definition of a SSTable?
Solution 1:
Sorted Strings Table (borrowed from google) is a file of key/value string pairs, sorted by keys
Solution 2:
"An SSTable provides a persistent,ordered immutable map from keys to values, where both keys and values are arbitrary byte strings. Operations are provided to look up the value associated with a specified key, and to iterate over all key/value pairs in a specified key range. Internally, each SSTable contains a sequence of blocks (typically each block is 64KB in size, but this is configurable). A block index (stored at the end of the SSTable) is used to locate blocks; the index is loaded into memory when the SSTable is opened. A lookup can be performed with a single disk seek: we first find the appropriate block by performing a binary search in the in-memory index, and then reading the appropriate block from disk. Optionally, an SSTable can be completely mapped into memory, which allows us to perform lookups and scans without touching disk."
Solution 3:
A tablet is stored in the form of SSTables.
SSTable (directly mapped to GFS) is key-value based immutable storage. It stores chunks of data, each is of 64KB.
Definitions:
- Index of the keys: key and starting location
- Chunk is a storage unit in GFS, replica management are by chunk