Компания Oracle анонсировала стабильный релиз MySQL 5.6

Материал из Викиновостей, свободного источника новостей

5 февраля 2013 года

После двух лет тестирования и разработки компания Oracle представила первый стабильный релиз СУБД MySQL 5.6, в котором продолжена работа по улучшению масштабируемости, производительности и гибкости. Наиболее значительные улучшения затронули движок InnoDB, в котором появилась поддержка средств полнотекстового поиска, возможность доступа к данным через memcached API, увеличена производительность работы при интенсивной записи данных, а также увеличена масштабируемость при обработке большого числа одновременных запросов. Помимо коммерческой enterprise-версии для загрузки доступен (Архивная копия от 24 апреля 2015 на Wayback Machine) код MySQL Community Server 5.6.10, распространяемый под лицензией GPL.

Ключевые улучшения:

  • Реализация интерфейса для прямого доступа к таблицам InnoDB в стиле NoSQL-систем с использованием API, манипулирующего парами ключ/значение и совместимого с memcached. Указанный API позволяет сохранять и получать любые значения таблиц без отправки традиционных SQL-запросов и без траты времени на их парсинг и построение плана выполнения запроса. NoSQL API может использоваться для быстрого выполнения простых выборок или обновления значений, в то время как SQL может применяться для тех же таблиц при выполнении более сложных запросов.
  • Возможность создания в InnoDB полнотекстовых индексов для организации быстрого поиска по словоформам среди текстового контента, хранимого в таблицах InnoDB. Ранее полнотекстовый поиск был доступен только для таблиц MyISAM.
  • Возможность добавления индексов и изменения структуры таблиц без негативного влияния на выполнение приложений, связанного с ранее выполняемым полным копированием содержимого таблиц и блокировкой операций INSERT, UPDATE и DELETE.
  • Повышение эффективности оптимизатора запросов, оптимизация процесса выбора результирующего набора значений, сортировки и выполнения запроса. Новые оптимизации 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%. Проведённый рефакторинг позволил избавиться от узких мест, более оптимально использовать потоки, минимизировать блокировки, обеспечить адаптивный сброс буферов и улучшить логику организации одновременного доступа к данным. Использование нового, более быстрого, алгоритма выявления взаимных блокировок.
  • Улучшение средств репликации. Добавление механизмов самодиагностики для автоматического выявления сбоев и восстановления после них. Обеспечение защищённости репликаций от нарушения целостности в результате краха сервера. После краха бинарный лог и slave-серверы теперь автоматически восстанавливают корректные позиции в потоке репликации и продолжают реплицирование без необходимости вмешательства администратора. Для контроля целостности данных на всех узлах кластера теперь выполняется проверка по контрольным суммам, которые позволяют автоматически выявлять ошибки и предупреждать о них.
  • Существенное увеличение производительности репликации при использовании многопоточных slave-систем. В некоторых ситуациях наблюдается (Архивная копия от 18 января 2022 на Wayback Machine) пятикратное ускорение репликации. Поддержка внесения в бинарный лог групповых коммитов (Binlog Group Commit), позволяет увеличить производительность репликации за счет отражения изменений в бинарном логе в параллельном режиме, в результате чего коммит со сбросом бинарного лога на диск производится сразу для группы изменений.
  • Binlog API, позволяющий бесшовно интегрировать MySQL с внешними хранилищами данных и приложениями, путем организации прямой репликации в данные системы. Например, можно подключить свой обработчик, накапливающий статистику по потокам данных в СУБД, при этом экспорт данных в такой обработчик настраивается в виде репликации. Binlog API предоставляет все средства, необходимые для чтения и декодирования используемого в процессе репликации бинарного лога.
  • Режим отложенной репликации, позволяющий реплицировать данные не сразу, а с определённой задержкой, что позволяет обеспечить защиту от ошибок оператора (например, случайное удаление содержимого таблиц).
  • Поддержка опций для ручной или автоматической предварительной загрузки содержимого пула буферов InnoDB, что позволяет после перезапуска существенно сократить время "прогрева" сервера (т.е. позволяет сразу использовать ранее накопленный кэш и статистику, без ожидания пока нужные данные накопятся в процессе работы).
  • Увеличение максимального размера файлов с логами изменений (InnoDB Redo Log) с 4 Гб до 2 Тб, что позволяет повысить производительность при обеспечении работы приложений, интенсивно записывающих данные или выполняющих длительные транзакции (за счет снижения задержек в процессе ротации лога транзакций).
  • Улучшение безопасности: поддержка указания параметров аутентификации в файле .mylogin.cnf в зашифрованном виде; добавление плагина sha256_password для хранения хэшей паролей с использованием алгоритма SHA-256; добавление в таблицу mysql.user поля со временем истечения действия пароля; новая SQL-функций VALIDATE_PASSWORD_STRENGTH() для оценки надёжности пароля.
  • Изменение значений по умолчанию для некоторых параметров конфигурации сервера. Например, включение проверки по контрольным суммам в binlog, тюнинг размера кэшей, автоматическая установка значений в зависимости от заданного максимального числа соединений.
  • Поддержка запуска сервера в режиме только для чтения (опция—innodb-read-only, только для InnoDB).
  • Поддержка указания дробных значений секунд в функциях TIME, DATETIME и TIMESTAMP для указания микросекунд.
  • Прекращена поддержка опций "--log", "--log-slow-queries", "--one-thread", "--safe-mode", "--skip-thread-priority", "--table-cache".

Источники[править]

Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Компания Oracle анонсировала стабильный релиз MySQL 5.6», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.