Database / RocksDB Basics Interview Questions
What is an Immutable MemTable?
An Immutable MemTable is a MemTable that has reached its size limit and stopped accepting new writes, but hasn't yet been flushed to disk as an SSTable.
- Created the moment an active MemTable fills up, at which point a brand new, empty MemTable takes over for future writes
- Still readable, so Get calls and iterators continue to check it until it's flushed
- Removed once a background thread finishes flushing its contents to a new Level-0 SSTable
This intermediate state is what lets RocksDB keep accepting new writes into a fresh MemTable without pausing to wait for the previous one to finish being written to disk.
More Related questions...