Тюнинг MySQL-сервера: формат файлов Barracuda

Jul 27, 2015 09:59 · 172 words · 1 minute read mysql innodb

Ранее я уже писал о сжатии таблиц InnoDB, и одним из необходимых условий для сжатия таблиц было наличие формата файлов Barracuda (innodb_file_format=Barracuda).

Как известно, движок базы данных InnoDB поддерживает несколько форматов файлов. По умолчанию в InnoDB используется «старый» формат Antelope, но с помощью параметра innodb_file_format это можно изменить. Давайте разберемся в преимуществах использования формата файлов Barracuda!

Формат файлов Barracuda — самый «новый» и поддерживает компрессию (ROW_FORMAT=COMPRESSED). Это позволяет экономить место и снижать нагрузку на жесткие диски путём использования сжатия. Однако, бесплатный сыр бывает только в мышеловке — при работе со сжатыми таблицами увеличивается нагрузка на процессор (за счет компрессии/декомпрессии таблиц) плюс на сжатых таблицах ALTER-ы будут занимать гораздо больше времени (ALTER, как и любой другой DDL, блокирует таблицу, а как результат и весь кластер). Грубо говоря, сжатие лучше делать на одиночных инстансах mysql, и помнить, что лучше сжимаются таблицы с полями text/BLOB.

Изменить/установить значение формата файлов Barracuda (параметра innodb_file_format) можно:

  • в командной строке при запуске mysqld;
  • в конфигурационном файле /etc/mysql/my.cnf (для Unix) добавив строку
innodb_file_format=Barracuda
  • с помощью следующего запроса
SET GLOBAL innodb_file_format=BARRACUDA
tweet Share