Тюнинг MySQL-сервера: формат файлов Barracuda
Jul 27, 2015 09:59 · 172 words · 1 minute read
Ранее я уже писал о сжатии таблиц 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