Корпорация Oracle представила новую рабочую версию MySQL 5.7. Продолжая соответствовать требованиям современных облачных, встраиваемых и веб-приложений, новая версия СУБД с открытым исходным кодом MySQL предлагает еще более высокие уровни производительности, масштабируемости и надежности в сочетании с улучшенными возможностями управления. Кроме того, Oracle анонсировала выпуск новых версий дополнительных продуктов MySQL и ряда новых функций, находящихся в стадии разработки (early access features), а также сообщила о доступности исходного кода MySQL на сайте GitHub.com.
В версии MySQL 5.7.5 реализовано множество функций и возможностей, обеспечивающих повышенную производительность и масштабируемость — таких как новая модель динамических затрат оптимизатора, улучшения производительности InnoDB и производительности репликации — и целый ряд усовершенствований управляемости.
Также доступны для загрузки следующие дополнительные продукты MySQL: MySQL Fabric 1.5 — включает возможность развертывания серверов через OpenStack; MySQL Workbench 6.2 — предлагает новые возможности для миграции и повышения производительности; первая рабочая версия MySQL Cluster 7.4 DMR — обеспечивает репликацию в режиме «активный-активный» (active-active replication), содержит операционные усовершенствования и улучшения, повышающие производительность.
Oracle также предоставляет «ранний доступ» к функциям, находящимся в стадии разработки, включая функции MySQL Group Replication и Multi-source Replication, для тестирования и обсуждения сообществом MySQL.
Для улучшения поддержки сообщества MySQL, Oracle открывает на сайте GitHub.com свободный доступ к исходному коду MySQL, давая пользователям возможность загрузить его с предпочитаемой ими платформы хостинга кода.
«Oracle неизменно стремится совершенствовать MySQL, чтобы предоставлять клиентам и сообществу MySQL самые лучшие возможности для разработки и поставки их облачных, встраиваемых и веб-приложений, — подчеркнул Томас Улин (Tomas Ulin), вице-президент Oracle по разработке MySQL. — Новая рабочая версия MySQL 5.7, выход которой подтверждает выполнение наших обещаний предоставлять ранний доступ к новым функциям, выпускать новые версии как можно чаще и постоянно улучшать производительность и управляемость, является результатом нашего тесного сотрудничества с пользователями. Кроме того, предоставляя свободный доступ к исходному коду MySQL, мы даем пользователям возможность на практике оценить новейшие инновации, загрузив обновленный код MySQL с крупнейшей в мире платформы хостинга кода».
Новые усовершенствования MySQL улучшают производительность, масштабируемость и управляемость: реализована новая модель динамических затрат оптимизатора MySQL, расширяющая возможности пользователей и улучшающая производительность запросов; улучшенная производительность InnoDB, которые ускоряют операции загрузки данных в режиме реального времени (online load) и массовой загрузки данных (bulk load); улучшения системы диагностики производительности Performance Schema, которые включают реализацию средств контроля активности пользователей и параметров состояния (status variable), а также инструментария для информационного контроля выполнения процесса репликации; улучшения производительности репликации, включая режим многопоточной репликации данных на slave-сервере в рамках одной и той же схемы базы данных (intraschema multithread slave) — позволяют обрабатывать многие транзакции в отдельных параллельных потоках при сохранении целостности и поддержке повторов транзакций (transaction retries). В тесте SysBench Read-only Point-Selects с 1024 соединениями новая рабочая версия MySQL 5.7 продемонстрировала производительность в 645000 QPS (queries per second — запросов в секунду), что в 2 раза превышает аналогичный показатель версии MySQL 5.6. С помощью MySQL 5.7 был также достигнут результат более чем в 1 млн. NoSQL-запросов в секунду к таблицам InnoDB через интерфейс на основе протокола Memcached, что в 6 раза превышает результат версии MySQL 5.6.
Новый глобальный словарь данных улучшает управляемость, а также производительность запросов. Улучшенный механизм использования разделов (partitioning) упрощает администрирование баз данных благодаря быстрому и легкому перемещению разделов базы данных. Улучшение функций ГИС (географическая информационная система) обеспечивает более надежную поддержку пространственных данных, включая Geohash и GeoJSON. Улучшения процесса репликации с использованием механизма глобальных идентификаторов транзакций (GTID — Global Transactions Identifiers) устраняют необходимость запуска бинарных журналов (binary log) на slave-серверах.
MySQL Fabric 1.5 разворачивает и управляет серверами с использованием программного обеспечения OpenStack, а также поддерживает дополнительные типы ключей шардинга (sharding key).
MySQL Workbench 6.2 предлагает следующие новые возможности: миграцию баз данных из Microsoft Access, что позволяет пользователям с легкостью осуществлять миграцию данных Microsoft Access в MySQL; усовершенствования механизма Visual Explain (предназначенного для визуальной оценки выбранного плана выполнения запроса), что улучшает и упрощает настройку производительности SQL-запросов; средство просмотра данных ГИС, позволяющее пользователям просматривать пространственные данные MySQL с помощью более мощного и надежного «геометрического движка» (geometric engine).
Первая DMR-версия MySQL Cluster 7.4 предлагает следующие усовершенствования для улучшения динамичности, масштабируемости и времени безотказной работы: возможность репликации в режиме «активный-активный» (active-active replication), которая позволяет осуществлять репликацию между распределенными кластерами с автоматическим обнаружением и разрешением конфликтных ситуаций; улучшения производительности — за счет возможности использования большего числа ядер в каждом узле для «крупномасштабного» горизонтального масштабирования пропускной способности; операционные усовершенствования, такие как улучшение отчетности и ускорение операций обслуживания.
Ключевые функции, находящиеся в стадии разработки, «ранний доступ» к которым уже открыт для тестирования и обсуждения сообществом MySQL: Multi-source Replication — консолидирует данные из нескольких master-серверов на одном или более slave-сервере; MySQL Group Replication — упрощает обеспечение высокой доступности, позволяя любому серверу принимать записи (данные), и повышает прозрачность приложений за счет устранения необходимости координирования между приложением и серверами маршрутизации транзакций.