-
Notifications
You must be signed in to change notification settings - Fork 3
Home
abcabhishek edited this page Jul 1, 2017
·
8 revisions
The main objective of the project is to conduct a feasibility test of using RocksDB as a storage engine in MySQL/MariaDB, instead of the usual InnoDB engine.
Currently, MySQL uses InnoDB as the default storage engine to perform all the transactions going through.
This has some significant drawbacks since:
- The B+ tree data structure used gets fragmented easily, resulting in additional disk space usage.
- Also compression in InnoDB has a space overhead.
- InnoDB adopts "update in place" architecture. Even though there is an update in just 1 record, an entire page has to be written back to storage.
On the other hand, - RocksDB (LSM) database uses "Append Only" model in which edits are written to WAL.
- The edits are then periodically merged with SST files .
- RocksDB uses LSM and is optimised for reducing space usage.