MyRocks для сервера Percona


Существует экспериментальная версия MyRocks в Percona Server для MySQL 5.7 с пакетами. MyRocks — это программное обеспечение с открытым исходным кодом, которое было разработано в Facebook, чтобы предоставить возможность использовать функции MySQL с RocksDB Facebook. Он также используется в MariaDB в качестве механизма хранения.

MyRocks

Facebook использует MySQL и разработал RocksDB как встраиваемое постоянное хранилище ключей и значений для быстрого хранения в качестве альтернативы InnoDB в качестве механизма хранения.

Затем возникла проблема, заключающаяся в том, что RocksDB не поддерживает репликацию или уровень SQL, и Facebook хотел продолжить использование этих функций из MySQL. Это привело к развитию MyRocks как проекта с открытым исходным кодом, который интегрирует RocksDB в качестве нового механизма хранения MySQL. Когда Facebook перенес свой уровень пользовательской базы данных на MyRocks из InnoDB, он смог использовать на 50 процентов меньше хранилища для того же объема данных по сравнению со сжатым InnoDB.

Наряду с лучшим сжатием MyRocks предлагает более быструю репликацию, чем InnoDB. Частично это связано с тем, что MyRocks не требует случайного чтения для обновления вторичных ключей, если только индекс не является уникальным. Кроме того, с форматом двоичного журнала на основе строк MyRocks не требует случайных чтений для обновления первичных ключей и даже не нуждается в проверке уникальности.

MyRocks также быстрее загружает данные, поскольку записывает данные непосредственно на самый нижний уровень, что позволяет избежать накладных расходов на уплотнение. Поскольку при сжатии используются как ЦП, так и ввод-вывод для распаковки, сжатия и записи данных, оптимальным вариантом является предотвращение сжатия путем массовой загрузки.

MyRocks не имеет ряда функций, включая внешние ключи, онлайн-DDL, автоматическое обнаружение взаимоблокировок и собственное разбиение на разделы. Ему также не хватает интересных функций, присущих InnoDB, таких как индексы FULLTEXT и SPATIAL.

В планы Facebook относительно MyRocks входит поддержка кросс-движков, а не добавление того, что разработчики называют «нишевыми функциями». Это позволит запускать и InnoDB, и MyRocks в одном экземпляре, используя InnoDB для небольших таблиц с интенсивным чтением и MyRocks для всего остального. Также есть планы по поддержке MyRocks в грядущей версии MySQL 8.0.

Percona MyRocks распространяется как отдельный пакет, который можно включить как плагин для Percona Server для MySQL 5.7.19-17. Он доступен для Debian 8 и 9, Ubuntu и Red Hat Enterprise Linux или CentOS.


Добавить комментарий