Що стосується "Dynamic" , то нестиснений формат, призначений лише для Barracuda, дуже мало змінився від компактного, головним чином щодо того, як зберігаються краплі (та будь-які дуже динамічні поля) . У мене жодного разу не виникало проблем із компактними та динамічними, тому я можу сміливо рекомендувати динаміку Барракуди. Пам'ятайте, що Barracuda також підтримує старі надлишкові та компактні формати рядків .
Стаття, яку ви згадуєте, напевно, занадто стара (5.1), і, як Петро З., генеральний директор Percona, згадує про зауваження, вона може бути трохи оманливою. Це не означає, що стиснення не може бути величезним виграшем залежно від завантаженості. Однак я рекомендую спробувати його на версіях> = 5.6, оскільки і Facebook, і Oracle зробили багато вдосконалень.
Як новіші довідкові матеріали я рекомендую вам:
Зокрема, мені подобаються матеріали Facebook, оскільки вони є сторонніми особами (немає потреби в порядку денному), і вони мають одне з найбільших розгортань MySQL у світі. Як ви бачите, у них були дуже вдалі установки, що поєднували в собі SSD технологію зі стисненням.
Чи принесе вам користь? Це залежатиме від вашої завантаженості, робочого набору та налаштування (IOPS, пам'яті) . Залежно від того, якщо ви пов'язані IO, пов'язані з процесором або пов'язані з пам'яттю, стиснення в деяких випадках може негативно впливати, додаючи додаткові вимоги до процесора, пам'яті (як стислі, так і нестиснуті сторінки зберігаються в буферному пулі InnoDB) або генеруючи занадто багато збоїв стиснення, збільшуючи затримка. Це також залежить від типу даних: стиснення може сильно допомогти при великих текстових крапках, але може бути марним при вже стислих даних.
На моєму досвіді, на практиці є люди, для яких стиснення було святим моментом продуктивності, і вони дуже задоволені цим, але в інших випадках нам довелося повернутися до нестиснених даних, оскільки жодних прибутків не було. Хоча дуже велике навантаження для письма може здатися поганою обстановкою для стиснення, якщо у вашому конкретному випадку ви не пов'язані процесором та пам'яттю, але обмежені функцією iops, це може бути не менш корисним.
Взагалі, передбачити результати дуже важко, зазвичай вам слід встановити тестове середовище для тестування, а потім виявити, чому ви отримуєте кращі чи гірші результати (і таким чином ви можете грати з різними розмірами блоків тощо). Барракуда повністю безпечний. Стиснення може бути чи не для вас. І ви завжди можете експериментувати з іншими методами стиснення, такими як стиснення крапок на стороні клієнта (наприклад, якщо ви закінчите зв’язані з процесором) або іншими сторонніми двигунами, такими як RocksDB і TokuDB , у яких стиснення є важливим пріоритетом, оскільки він зосереджений у продуктивності для більших наборів даних, ніж InnoDB може впоратися.
Коротше кажучи: Основними причинами використання Barracuda є обробка BLOB, innodb_large_prefix
сумісність (великі індекси) та стиснення. Динамічний, на MySQL 8.0 тепер формат файлу за замовчуванням.