Что касается «Динамического» , несжатого формата Barracuda-only, очень мало что изменилось по сравнению с компактным, главным образом в том, как хранятся BLOB-объекты (и любые очень динамические поля) . У меня никогда не было проблем с компактностью и динамикой, поэтому я могу смело рекомендовать динамику Барракуда. Помните, что Barracuda также поддерживает старые избыточные и компактные форматы строк .
Вероятно, статья, о которой вы упоминаете, слишком старая (5.1), и, как отмечает Питер З., генеральный директор Percona, в комментариях она может вводить в заблуждение. Это не означает, что сжатие не может быть огромным преимуществом в зависимости от рабочих нагрузок. Тем не менее, я бы порекомендовал вам попробовать его на версиях> = 5.6, так как Facebook и Oracle сделали много улучшений.
В качестве более свежих справочных материалов я бы порекомендовал вам:
В частности, мне нравятся материалы Facebook, поскольку они являются сторонними организациями (нет необходимости в повестке дня), и у них одно из крупнейших развертываний MySQL в мире. Как вы можете видеть, у них были очень успешные установки, сочетающие технологию SSD со сжатием.
Будет ли это полезно для вас? Это будет зависеть от вашей рабочей нагрузки, рабочего набора и настроек (IOPS, память) . В зависимости от того, связаны ли вы с вводом-выводом, с процессором или с памятью, в некоторых случаях сжатие может отрицательно сказаться на добавлении ЦП, требованиях к памяти (сжатые и несжатые страницы хранятся в пуле буферов InnoDB) или создании слишком большого количества сбоев сжатия, увеличивая латентность Это также зависит от типа данных: сжатие может очень помочь с большими текстовыми объектами, но может оказаться бесполезным для уже сжатых данных.
По моему опыту, на практике есть люди, для которых сжатие было священным граалем производительности, и они им очень довольны, но в других случаях нам приходилось возвращаться к несжатым данным, так как не было получено никакого усиления. Хотя очень большая нагрузка при записи может показаться плохой средой для сжатия, если в вашем конкретном случае вы не связаны с процессором и не связаны с памятью, но связаны с iops, это может быть не менее полезным.
В общем, очень сложно предсказать результаты, обычно вам нужно настроить тестовую среду для бенчмаркинга, а затем выяснить, почему вы получаете лучшие или худшие результаты (и таким образом вы можете играть с разными размерами блоков и т. Д.). Барракуда полностью безопасна. Сжатие может быть или нет для вас. И вы всегда можете поэкспериментировать с другими методами сжатия, такими как сжатие больших двоичных объектов на стороне клиента (например, если вы в конечном итоге привязаны к процессору) или другими сторонними механизмами, такими как RocksDB и TokuDB , в которых сжатие является большим приоритетом, поскольку оно сфокусировано в производительности для больших наборов данных, чем InnoDB может обработать.
В двух словах: основными причинами использования Barracuda являются обработка BLOB, innodb_large_prefix
совместимость (большие индексы) и сжатие. Динамический, на MySQL 8.0 теперь формат файла по умолчанию.