Копрорация Oracle объявила о выпуске второй рабочей версии (Development Milestone Release, DMR) MySQL 5.7, которая уже доступна для загрузки. В новой версии повышена производительность, надежность, масштабируемость и управляемость самой популярной в мире базы данных с открытым исходным кодом, что позволяет разработчикам и администраторам СУБД создавать современные web, облачные и встраиваемые приложения, способные обрабатывать постоянно растущие объемы данных.
Версия MySQL Community Edition 5.7.2 DMR, доступная для загрузки с сайта MySQL Developer Zone, предлагает ускоренное создание новых соединений, повышенную пропускную способность для транзакций, улучшенную скорость репликации, расширенные средства диагностики использования внутренней памяти и другие усовершенствования, обеспечивая более высокую производительность и управляемость.
В дополнение к новой версии DMR, Oracle открывает доступ к дополнительным функциональным возможностям, находящимся в стадии разработки, для тестирования и обсуждения широким сообществом пользователей. В частности, предлагаются две функции: «mysqlfabric» — набор инструментов для горизонтального масштабирования через шардинг (сегментирование базы данных) и поддержка «multi-source» — репликации (когда один и тот же сервер базы данных может получать данные с нескольких серверов).
«Oracle продолжает работать в тесном контакте с сообществом пользователей MySQL и приветствует обратную связь, отзывы и предложения, которые помогают быстро улучшать возможности и повышать качество этого продукта, — подчеркнул Томас Улин (Tomas Ulin), вице-президент Oracle по разработке MySQL. — Выпустив новую рабочую версию MySQL 5.7 Development Milestone Release, Oracle продолжает внедрять инновации в MySQL с помощью ожидаемых и последовательных обновлений, чтобы в точности учитывать требования пользователей к современным web, облачным и встраиваемым приложениям».
MySQL 5.7.2 DMR обеспечивает: рекордную производительность в 500 тыс. запросов в секунду (QPS) в тесте Sysbench InnoDB Read-Only POINT SELECT; линейное вертикальное масштабирование до 64 процессорных ядер; удваивает предыдущую рекордную производительность в 250 тыс. запросов в секунду в режиме «только чтение» (ReadOnly QPS).
Повышена пропускная способность репликации данных на slave-сервере — используется новый режим многопоточной обработки событий репликации на них, при котором непересекающиеся транзакции обрабатываются в отдельных параллельных потоках, даже когда эти транзакции оперируют одной и той же схемой базы данных.
Улучшена операция Online Alter Table — реализована поддержка для неблокирующих переименования индексов и расширения столбцов с типом данных VARCHAR.
Расширены возможности диагностики использования внутренней памяти через общую схему диагностики производительности Performance Schema — добавлены средства, позволяющие отслеживать операции выделения памяти и использования памяти в процессе работы mysqld (ядра MySQL). Впервые в истории MySQL реализованы встроенная поддержка и средства отслеживания использования памяти. Мониторинг использования памяти позволяет получить доступ к ряду показателей, таких как, объем внутренней памяти используемой в текущий момент, количество операций с памятью, а также минимальное и максимальное значения этих показателей за период времени.
Расширены возможности диагностики использования хранимых программ (Stored Programs) в Performance Schema — добавлена детальная информация о внутренних инструкциях, выполняемых внутри хранимых программ.
Расширены возможности обработки ошибок в хранимых программах (Stored Programs) — команда GET STACKED DIAGNOSTICS может быть использована в качестве нового инструмента для анализа ошибок, необходимого для выявления, исследования и обработки проблем в хранимых программах.
Улучшены средства управления триггерами — реализована поддержка привязки нескольких триггеров к одному типу событий в одной таблице. Возможно определение последовательности срабатывания триггеров с помощью операторов FOLLOWS и PRECEDES.
Добавлена возможность анализа запроса в процессе его выполнения — оператор EXPLAIN для другого соединения позволяет получить планы исполнения для запросов выполняемых в текущий момент.
Расширена поддержка вывода результатов EXPLAIN в формате JSON — позволяет получать более детальную информацию о планах запросов путем добавления данных о совокупной стоимости запроса, стоимости в расчете на таблицу и общем объеме данных, что дает представление о вычислениях и оценках оптимизатора на основе стоимостных характеристик. Можно увидеть не только то, какой план исполнения выбран, но и почему.
MySQL 5.7.2 DMR также предоставляет возможность полусинхронной репликации данных без потерь, обеспечивая фиксацию транзакций в механизме хранения и во внешней памяти на master-сервере только после того, как slave-сервер подтвердил получение данных.