RocksDB is a storage engine based on the log structured merge tree data structure. RocksDB was developed at Facebook to provide a tool for embedded databases. The code for RocksDB is a fork of LevelDB, an embedded database built by Google for the Chrome browser.
Every database has a storage engine. The storage engine is the low level data structure that manages the data in the database. RocksDB is widely used in database applications where a log structured merge tree is preferable to a b-tree. These tend to be write-heavy workloads.
In past shows, we have explored applications of RocksDB in our coverage of databases like TiDB, data intensive applications like Smyte, and data platforms like Rockset. In today’s episode, Dhruba Borthakur and Igor Canadi join for a deep dive into how RocksDB works. Dhruba was the original creator of RocksDB, and Igor is a former Facebook engineer who worked on RocksDB in its early days. Both Dhruba and Igor work at Rockset.
We talk about the log structured merge tree, discuss why an LSM has higher write throughput than storage engines based on a b-tree, and evaluate some of the use cases for RocksDB.