开发者

What is an SSTable?

In BigTable开发者_StackOverflow/GFS and Cassandra terminology, what is the definition of a SSTable?


Sorted Strings Table (borrowed from google) is a file of key/value string pairs, sorted by keys


"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."


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


  • SSTable (engl. Sorted Strings Table) is a file of key/value string pairs, sorted by keys.

  • An SSTable provides a persistent,ordered immutable map from keys to values, where both keys and values are arbitrary byte strings.

  • Internally, each SSTable contains a sequence of blocks (typically
    each block is 64KB in size, but this is configurable).


SSTable means "sorted string table" based on key-value pair.In Cassandra, SSTables are immutable and sorted by keys.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜