Анонсирован стабильный релиз MySQL 5.6

    5 февраля компания Oracle анонсировала выпуск стабильного релиза MySQL версии 5.6. В новой версии проделана огромная работа. Основные усилия были направлены на повышение производительности, масштабируемости и гибкости. Масштабным по значимости изменениям подвергся движок InnoDB.

    К ключевым улучшения можно отнести: поддержка средств полнотекстового поиска, возможность доступа к данным через memcached API, увеличена производительность работы при интенсивной записи данных, а также увеличена масштабируемость при обработке большого числа одновременных запросов.

    Еще одним новшеством версии 5.6 является возможность исполнения DDL-операций (Data Definition Language) без перевода СУБД в офлайн и прерывания доступа к таблицам. Администраторы получают возможность производить операции связанные с сбросом схемы, добавлением или удалением столбцов данных или переименованием столбцов без отключения СУБД. Ранее подобные возможности были доступны только в NoSQL-продуктах.

    В сравнении с версией 5.5 новинка теперь может работать на 48-ядерных серверах, против 32-ядерных в MySQL 5.5

    Немного подробнее о ключевых возможностях:

    • Реализован интерфейс для прямого доступа к таблицам InnoDB в стиле NoSQL-систем с использованием API, манипулирующего парами ключ/значение и совместимого с memcached.
    • Появилась возможность создания в InnoDB полнотекстовых индексов для организации быстрого поиска по словоформам среди текстового контента, хранимого в таблицах InnoDB. Ранее полнотекстовый поиск был доступен только для таблиц MyISAM.
    • Повышение эффективности оптимизатора запросов, оптимизация процесса выбора результирующего набора значений, сортировки и выполнения запроса. Новые оптимизации Index Condition Pushdown (ICP) и Batch Key Access (BKA) позволяют до 280 раз увеличить пропускную способность выполнения некоторых запросов. Увеличена эффективность выполнения запросов вида «SELECT… FROM single_table… ORDER BY non_index_column [DESC] LIMIT [M,]N;». Увеличена производительность запросов «SELECT… LIMIT N» выводящих только часть строк из большой выборки.
    • Расширены средства диагностики работы оптимизатора, добавлена поддержка EXPLAIN для операций INSERT, UPDATE и DELETE. Результаты работы EXPLAIN теперь могут быть выведены в формате JSON. Новый режим трассировки оптимизатора позволяет проследить за каждым принятым решением в процессе оптимизации запроса.
    • Дополнительные оптимизации выполнения подзапросов, при которых вложенные запросы вида «SELECT… FROM table1 WHERE… IN (SELECT… FROM table2 ...))» транслируются в более оптимальное представление на стадии до непосредственного выполнения запроса, например, заменяются на более эффективный JOIN.
    • Расширение реализации системы диагностики PERFORMANCE_SCHEMA, предоставляющей низкоуровневые средства для мониторинга за выполнением запросов и различными событиями при работе СУБД. PERFORMANCE_SCHEMA позволяет детально оценить узкие места при выполнении длительных запросов, а также представить сводную статистику, сгруппированную по запросам, нитям, пользователям, хостам и объектам.
    • Улучшена реализация движка InnoDB, отмечается рост производительности при выполнении транзакций и при активности с преобладанием операций чтения данных — в некоторых ситуациях ускорение достигает 230%.
    • Режим отложенной репликации, позволяющий реплицировать данные не сразу, а с определённой задержкой, что позволяет обеспечить защиту от ошибок оператора (например, случайное удаление содержимого таблиц).
    • Увеличение максимального размера файлов с логами изменений (InnoDB Redo Log) с 4 Гб до 2 Тб.
    • Улучшение безопасности: поддержка указания параметров аутентификации в файле .mylogin.cnf в зашифрованном виде; добавление плагина sha256_password для хранения хэшей паролей с использованием алгоритма SHA-256; добавление в таблицу mysql.user поля со временем истечения действия пароля; новая SQL-функций VALIDATE_PASSWORD_STRENGTH() для оценки надёжности пароля.
    • Поддержка запуска сервера в режиме только для чтения (опция --innodb-read-only, только для InnoDB).
    • Поддержка указания дробных значений секунд в функциях TIME, DATETIME и TIMESTAMP для указания микросекунд.
    • Прекращена поддержка опций "--log", "--log-slow-queries", "--one-thread", "--safe-mode", "--skip-thread-priority", "--table-cache".

    Более подробно ознакомится с новшествами вы можете на соответствующей странице.

    В связи с данным релизом становится более интересным соперничество MySQL и MariaDB, которая в последнее время стремительно вытесняет MySQL из дистрибутивов. На данный момент это произошло в Fedora и OpenSUSE.

    Страница загрузки
    MySQL 5.6 Reference Manual
    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 22
    • –9
      На сколько % опять упала производительность?
      Какой объём кода и тестов исчез из Open Source?
      Сколько свежих критических багов добавлено?

      Ждём месяцок, думаю первые маты полезут.
      • –10
        Имхо MySQL 5.6 не нужен, слишком много проблем с этим «наследием». Есть грамотные Percona/Maria со всеми плюшками. Полнотекстовый поиск оставить за Sphinx т.к. каждый должен заниматься своим делом.
        • +19
          А я бы с радостью отказался от Sphinx, если бы MySQL это делал не хуже.
          • 0
            Sphinx кстати не дурно работает как NoSQL, есть реальные примеры.
            • +27
              Не поверишь: если бы кто-то делал поиск не хуже, я бы в своем время тупо не начал писать Sphinx. ;)
            • 0
              надо не забывать что Percona/Maria всего лишь форки основного движка…
              добавлены/заменены на другие хранилища,
              ну в перконе добавлены средства мониторинга…
              • –1
                Убунта форк Дебиана, а Фаерфокс форк Мозиллы. Форк — это ответвление и ничего не мешает пойти своим путём. MariaDB пилят версию 10.0, чтобы показать насколько далеко они готовы зайти.
                • 0
                  Посмотрите, что стало с OpenOffice и его клоном.
                  Поэтому «всего лишь» говорить некорректно.
              • +3
                Администраторы получают возможность производить операции связанные с сбросом схемы, добавлением или удалением столбцов данных или переименованием столбцов без отключения СУБД. Ранее подобные возможности были доступны только в NoSQL-продуктах.

                Ну прямо-таки «только в NoSQL-продуктах». В той же Oracle DB и в некоторых других RDBMS есть такая возможность.
                • +2
                  А я вообще не понял о чём это. Что ALTER TABLE была блокирующая команда, а теперь не блокирующая?
                  • +9
                    Раньше alter table для innoDB производила полное копирование таблицы и затем удаляла старую копию. При этом, блокировались вся запись в эту таблицу.
                    Например, повесить дополнительный индекс на развесистую таблицу — и на сколько-то часов таблица доступна только на чтение.
                    • 0
                      Вот что меня смутило. В посте говорится о переводе всей базы (не одной таблицы) в оффлайн, хотя по факту блокируется только запись в таблицу.
                      • 0
                        во время alter'а на тип — чтение тоже в блоке
                        • +1
                          Но всё равно одной таблицы и не требуетя останавливать всю базу, как можно подумать по посту.
                          • +1
                            Думаю, что имелось ввиду не «без отключения СУБД», а «без отключения от СУБД» т.е. «без остановки приложения, на котором эта СУБД рабтает». В любом случае, изменение таблицы, из которой идёт постоянное чтение и в которую идёт постаянная запись раньше требовало экслюзивного доступа к таблице, сейчас же всё можно сделать не прекращая работу приложения.
                • +4
                  Если все будут ждать, то баги никогда и не уберут. Я на этой неделе целенаправленно обновлю mysql.
                • 0
                  Интересно, query cache в партицированные таблицы вернут?
                • +1
                  Ждем MariaDB 10 stable :)
                  • +2
                    Разработчики как в воду смотрели, сделали много полезного. Прекрасная новость. Спасибо.

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Интересные публикации