MyRocks For Percona Server
MyRocks For Percona Server
Written by Kay Ewbank   
Friday, 08 December 2017

There's an experimental release of MyRocks in Percona Server for MySQL 5.7, with packages. MyRocks is open source software that was developed at Facebook to provide a way to use MySQL features with Facebook's RocksDB. It is also used in MariaDB as a storage engine.

Facebook uses MySQL, and developed RocksDB as an embeddable, persistent key-value store for fast storage as an alternative to InnoDB as the storage engine.

The problem then arose that RocksDB does not support replication or an SQL layer, and Facebook wanted to continue using those features from MySQL. This led to the development of MyRocks as an open source project that integrates RocksDB as a new MySQL storage engine. When Facebook migrated its user database tier to MyRocks from InnoDB, it was able to use 50 percent less storage for the same amount of data compared with compressed InnoDB.

Alongside the better compression, MyRocks offers faster replication than InnoDB. This is partially because MyRocks doesn't need random reads for updating secondary keys, unless the index is unique. Also, with the row-based binary logging format, MyRocks does not need random reads for updating primary keys, and does not even need to check uniqueness.

MyRocks is also faster at data loading because it writes data directly onto the bottommost level, which avoids all compaction overheads. Because compactions use both CPU and I/O for decompressing, compressing, and writing data, avoiding compactions by bulk loading is optimal.

MyRocks does lack a number of features, including foreign keys, online DDL, automatic deadlock detection, and native partitioning. It also lacks interesting features that are native in InnoDB like FULLTEXT and SPATIAL indexes.

Facebook's plans for MyRocks include cross-engine support rather than adding what the developers describe as 'niche features'. This will make it possible to run both InnoDB and MyRocks in the same instance, using InnoDB for small, read-intensive tables, and MyRocks for everything else. There are also plans to support MyRocks for the upcoming MySQL 8.0.

Percona MyRocks is distributed as a separate package that can be enabled as a plugin for Percona Server for MySQL 5.7.19-17. It is available for Debian 8 and 9, Ubuntu, and Red Hat Enterprise Linux or CentOS.

 

myrocks

 

More Information 

MyRocks Website

Percona Server for MySQL

Related Articles

Facebook Open Sources Two Technologies

RocksDB on Steroids

RocksDB - Facebook's Database Now Open Source 

 

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin.

 

Banner


Top 10 - Web Design Matters
12/01/2018

We start this roundup of external blog posts with a guide to flat, aka minimalist, website design. Other posts concern responsive web design. Another key topic is costs and pricing.



C - Language Of The Year 2017
06/01/2018

The Tiobe index isn't too be taken too seriously, but it does reflect changes in the current interest in languages and the shock at the start of 2018 is that C has put on most growth making it the lan [ ... ]


More News

 

 
 

 

blog comments powered by Disqus

Last Updated ( Friday, 08 December 2017 )
 
 

   
Banner
RSS feed of news items only
I Programmer News
Copyright © 2018 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.