Oracle выпустила MySQL 5.7 Development Milestone Release
Корпорация Oracle объявила о выпуске второй рабочей версии (Development Milestone Release, DMR) MySQL 5.7, которая уже доступна для загрузки. Новая версия отличается оптимизированной производительностью, масштабируемостью и управляемостью, что позволяет разработчикам и администраторам СУБД создавать современные веб-, облачные и встраиваемые приложения, способные обрабатывать постоянно растущие объемы данных. В дополнение к новой версии DMR, Oracle открыла на labs.mysql.com доступ к дополнительным функциональным возможностям, находящимся в стадии разработки, для тестирования и обсуждения широким сообществом пользователей.
Как рассказали CNews в корпорации, MySQL 5.7.2 DMR обеспечивает производительность в 500 тыс. запросов в секунду (QPS), линейное вертикальное масштабирование до 64 процессорных ядер, повышенную пропускную способность репликации данных на slave-сервере — используется новый режим многопоточной обработки событий репликации на них, при котором непересекающиеся транзакции обрабатываются в отдельных параллельных потоках, даже когда эти транзакции оперируют одной и той же схемой базы данных.
В то же время, в MySQL 5.7.2 DMR оптимизированы: операция Online Alter Table — реализована поддержка для неблокирующих переименования индексов и расширения столбцов с типом данных VARCHAR; средства управления триггерами — реализована поддержка привязки нескольких триггеров к одному типу событий в одной таблице, также возможно определение последовательности срабатывания триггеров с помощью операторов Follows и Precedes.
Новая версия предлагает расширенные возможности диагностики использования внутренней памяти через общую схему диагностики производительности Performance Schema. Так, добавлены средства, позволяющие отслеживать операции выделения памяти и использования памяти в процессе работы mysqld (ядра MySQL). При этом впервые в истории MySQL реализованы встроенная поддержка и средства отслеживания использования памяти. Мониторинг использования памяти позволяет получить доступ к ряду показателей, таких как: объем внутренней памяти, используемой в текущий момент, количество операций с памятью, а также минимальное и максимальное значения этих показателей за период времени.
Кроме того, в MySQL 5.7.2 DMR расширены: возможности диагностики использования хранимых программ (Stored Programs) в Performance Schema — добавлена детальная информация о внутренних инструкциях, выполняемых внутри хранимых программ; возможности обработки ошибок в хранимых программах (Stored Programs) — команда Get Stacked Diagnostics может быть использована в качестве нового инструмента для анализа ошибок, необходимого для выявления, исследования и обработки проблем в хранимых программах. Также появилась возможность анализа запроса в процессе его выполнения — оператор Explain для другого соединения позволяет получить планы исполнения для запросов, выполняемых в текущий момент.
Помимо этого, в новой версии реализована расширенная поддержка вывода результатов Explain в формате JSON — позволяет получать более детальную информацию о планах запросов путем добавления данных о совокупной стоимости запроса, стоимости в расчете на таблицу и общем объеме данных, что дает представление о вычислениях и оценках оптимизатора на основе стоимостных характеристик. Можно увидеть не только то, какой план исполнения выбран, но и почему.
Наконец, MySQL 5.7.2 DMR также предоставляет возможность полусинхронной репликации данных без потерь, обеспечивая фиксацию транзакций в механизме хранения и во внешней памяти на master-сервере только после того, как slave-сервер подтвердил получение данных.
Версия MySQL Community Edition 5.7.2 DMR доступна для загрузки с сайта MySQL Developer Zone. Дополнительно на сайте labs.mysql.com можно получить доступ для досрочного тестирования и обсуждения сообществом MySQL следующих важных функций: mysqlfabric в пакете утилит MySQL Utilities 1.4.0 — позволяет осуществлять горизонтальное масштабирование через «шардинг» (изначально предусмотрена поддержка этого инструмента в клиентских библиотеках для PHP, Python и Java); Multi-source репликация MySQL — позволяет одному slave-серверу агрегировать данные из нескольких master-серверов.