What is MyRocks?

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

MyRock’s efficiency is a result of improvements in storage, and reading and writing data. This means:

  • Less SSD storage space required (space efficiency)
  • Increased SSD endurance (write efficiency)
  • More available IO capacity for handling queries (read efficiency)

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