Prev Next

Database / RocksDB Basics Interview Questions

What is an SSTable in RocksDB?

An SSTable, or Sorted String Table, is the immutable, on-disk file format RocksDB uses to store key-value pairs once they're flushed out of memory.

  • Stores keys in sorted order, which enables efficient binary search and range scans
  • Once written, an SSTable is never modified in place, only replaced or removed through compaction
  • Typically includes an index block and, optionally, a Bloom filter to speed up lookups

This immutability is a deliberate design choice, it simplifies concurrency and makes it straightforward to cache and share these files safely across reads.

What does SSTable stand for?
Can an SSTable be modified in place once written?

More Related questions...

What is RocksDB? Who developed RocksDB? What is RocksDB based on? What is a Key-Value Store? Define the LSM-Tree (Log-Structured Merge-Tree)? What is a MemTable in RocksDB? What data structure implements RocksDB's default MemTable? What is a Write-Ahead Log (WAL) in RocksDB? What is an SSTable in RocksDB? What is Flushing in RocksDB? What is Compaction in RocksDB? What are the Compaction Styles supported by RocksDB? Define Leveled Compaction? Define Universal Compaction? What is a Bloom Filter in RocksDB? What is an Index Block in an SSTable? What is a Block Cache in RocksDB? What is the Manifest file in RocksDB? What are Column Families in RocksDB? What is a Comparator in RocksDB? What is a Snapshot in RocksDB? What is an Iterator in RocksDB? What is the purpose of the Put operation in RocksDB? What is the purpose of the Get operation in RocksDB? What is the purpose of the Delete operation in RocksDB? What is a Tombstone in RocksDB? What is Merge in RocksDB? What is Write Amplification? What is Read Amplification? What is Space Amplification? What is the purpose of Levels (L0 to Ln) in RocksDB's storage hierarchy? Describe the Write Path in RocksDB? Describe the Read Path in RocksDB? What is an Immutable MemTable? What is a Skip List? What programming language is RocksDB written in? What types of systems use RocksDB internally? What is a Transaction in RocksDB? What is Backup and Restore in RocksDB? What is a Checkpoint in RocksDB? Describe how Compression is used in RocksDB? What is the purpose of a Data Block within an SSTable? What is Prefix Seek in RocksDB? What is a Merge Operator in RocksDB? List common configuration options that affect RocksDB performance? What is a Sync Write versus an Async Write in RocksDB? What is the purpose of the Options object in RocksDB's API?
Show more question and Answers...


Comments & Discussions