What is MyRocks?

MyRocks came about because of a wanting to use MySQL features with RocksDB implementations at Facebook. RocksDB is optimized for fast, low-latency storage, and MyRocks is aimed at keeping the storage savings efficient.

MyRock’s efficiency focuses on better space efficiency, better write efficiency, and better read efficiency.

  • Better space efficiency means using less SSD storage.
  • Better write efficiency means SSD endurance.
  • Better read efficiency comes from more available IO capacity for handling queries.

The library is maintained by the Facebook Database Engineering Team and is based on the Oracle MySQL 5.6 database.

For more information about MyRocks implementation at Facebook, see MyRocks: A space- and write-optimized MySQL database

How does performance compare?

In benchmark tests against 3 different instances – MyRocks (compressed), InnoDB (uncompressed), and InnoDB (compressed, 8 KB page size) – we found:

  • MyRocks was 2x smaller than InnoDB (compressed) and 3.5x smaller than InnoDB (uncompressed).
  • MyRocks also has a 10x lower storage write rate compared to InnoDB.

With SSD database storage, this means less space used and a higher endurance of the storage over time.

How big is MyRocks adoption?

Percona

Percona announced that is is bringing MyRocks to Percona Server to make MyRocks more accessible to users.

For more information:
Announcing MyRocks in Percona Server for MySQL

MariaDB

MyRocks will be included MariaDB 10.2.

For more information:
Thoughts on MariaDB 10.3 from MariaDB Developers Meeting in Amsterdam, part 1

Why is MyRocks open sourced?

By sharing MyRocks with the community through open source, we hope that others will benefit from the advantage of these performance efficiencies.

Edit on GitHub