Posts

Showing posts from 2017

How to install MyRocks into mariaDB as a plugin?

Whats is MyRocks? MyRocks is a storage engine that integrates RocksDB into MySQL with most features of InnoDB and the storage efficiency of RocksDB. It has been said that it provides 3-4x compression when compared to uncompressed InnoDB tables and 10x less write amplification when compared to InnoDB What is RocksDB? RocksDB is a embedded key-value data storage(a fork of LevelDB) which stores data in the disk unlike redis(redis stores data in memory). It uses Log-structured merge-tree algorithm that reduces write amplification. https://en.wikipedia.org/wiki/Log-structured_merge-tree Now let's come to the post topic. We are going to compile MyRocks engine as a plugin into mariaDB. Requirements 1) gcc 4.8.1 and above MyRocks document says it could be installed in centos 6.8 too. But it's a bit tedious since a MyRocks requires a gcc 4.8 which is not available through default repositories in Centos 6.8 . So let's choose Centos 7 which has gcc 4.8.5 2) gfl

MySQL Enterprise backup : How to setup a slave for a standalone server with zero downtime?

    It’s a well know fact that we could take backups with almost zero downtime with the “mysqldump” tool provided with the community edition of MySQL with a magical option --single-transaction on one  condition that all the tables are InnoDB. Myisam tables locked even with single transaction option.   Now let us talk about the MySQL Enterprise backup tool that is only available with the Enterprise edition. We are also offered a 30 day trial. It has been said that MEB(let us just call the MySQL Enterprise backup, MEB)  provides hot online backups with zero downtime.   So a hot backup is done online and doesn’t disrupt the normal operations of the database and it even captures the database operations happening during the backup process and applies it during the restoration process. This is applicable only to InnoDB tables.   When it comes to other engine tables like Myisam, CSV it has to read lock the tables.. So this is pretty much similar to mysqldump with --single-tran