После двух с половиной лет разработки компания Oracle представила первый стабильный релиз СУБД MySQL 5.7. Примечательно, что несмотря на анонс, финальный релиз MySQL Community Server 5.7, распространяемый под лицензией GPL, пока недоступен для загрузки и будет опубликован только 26 октября.

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

  • Поддержка манипуляции данными в формате JSON. Добавлен встроенный тип данных JSON и набор функций для эффективной обработки, хранения, разбора и поиска неструктурированных данных в формате JSON. Документы JSON упаковываются в специальный внутренний бинарный формат, поддерживают индексацию и могут интегрироваться в SQL-запросы, в том числе с генерацией виртуальных столбцов;
  • Компонент MySQL Router, позволяющий организовать подключение приложений к нескольким БД MySQL. MySQL Router также может использоваться для создания отказоустойчивых конфигураций и для автоматизации шардинга данных на нескольких серверах;
  • Проведена оптимизация производительности. В тесте SysBench при установке 1024 соединений MySQL 5.7 сумел продемонстрировать производительность в 1.6 млн запросов на чтение в секунду, что в три раза выше, чем смогла обеспечить конфигурация на основе MySQL 5.6.
  • Поддержка режима multi-source репликации, позволяющего реплицировать данные от нескольких master-серверов на один slave-сервер. Например, указанную возможность можно использовать для резервного копирования содержимого разных серверов, для консолидации данных нескольких серверов или для объединения таблиц шардинга. На стороне slave-серверов добавлена поддержка каналов репликации, позволяющих использовать разные соединения для параллельного приёма данных с разных серверов в несколько потоков;
  • В оптимизаторе реализована новая модель динамического расчёта приоритетов, позволяющая добиться более высокой скорости обработки запросов и предоставляющая пользователю больше средств управления;
  • Добавлен новый набор системных таблиц Performance Schema со статистикой о распределении памяти, транзакциях, хранимых процедурах, репликации и блокировках;
  • Расширены средства обработки состояния и диагностики работы СУБД. В рамках механизма SYS Schema предоставлен набор вспомогательных объектов с информацией о производительности, состоянии работы и мониторинге. Добавлена поддержка вложенных областей диагностики (просмотр командой GET STACKED DIAGNOSTICS);
  • Реализован более защищённый механизм инициализации директории с данными СУБД: По умолчанию создаётся только аккаунт 'root@localhost' со случайно созданным паролем, который сразу помечается устаревшим и требует установки нового пароля. Анонимные пользовательские аккаунты и тестовые БД не создаются;
  • Добавлена реализация типов данных для задания пространственных координат c поддержкой InnoDB, GeoJSON и GeoHash;
  • Улучшение движка InnoDB:
    • Увеличена производительность работы с временными таблицами;
    • Расширены средства партицирования;
    • Добавлена возможность менять размер строк VARCHAR без перестроения таблицы (ALTER TABLE ...ALGORITHM=INPLACE, CHANGE COLUMN...VARCHAR());
    • Введено отдельное пространство имён для таблиц с несжатыми данными;
    • Поддержка создания табличных пространств, вынесенных из базовой директории с хранилищем. Создание выполняется при помощи конструкции CREATE TABLESPACE;
  • В ALTER TABLE добавлена поддержка выражения RENAME INDEX для переименования индексов;
  • В клиент mysql добавлена опция "--syslog" позволяющая отправлять в лог все вводимые команды;
  • Возможность задания политики истечения времени жизни пароля пользователя, после которого для обращения к БД требуется смена пароля. Поддержка временного блокирования учётных записей;
  • При включении поддержки шифрования соединений с сервером, при компиляции с поддержкой OpenSSL теперь производится автоматическая генерация всех необходимых сертификатов SSL и RSA, а также генерация файлов ключей при запуске. Для ручного создания сертификатов и ключей в состав включена утилита mysql_ssl_rsa_setup;
  • По умолчанию включен режим STRICT_TRANS_TABLES, при которых в случае если значение не может быть помещено в БД, выражение приводит к ошибке, что позволяет избежать уязвимостей из-за автоматического обрезания слишком длинных строк;
  • Поддержка генерируемых значений столбцов, которые вычисляются во время добавления записи на основе выражения, охватывающего значения других столбцов. (например, в "CREATE TABLE" можно указать "sidec DOUBLE AS (SQRT(sidea * sidea + sideb * sideb)");
  • Возможность смены master-сервера без остановки slave-сервера ( без выполнения команды STOP SLAVE);
  • Прекращена поддержка отложенного выполнения операций, таких как "INSERT DELAYED" и "REPLACE DELAYED".
  • Вместо GRANT для создания и изменения парамтров пользователей теперь следует использовать только CREATE USER и ALTER USER. Вместо "SET PASSWORD" и функции PASSWORD() допускается только "ALTER USER";
  • Прекращена поддержка утилит mysqlhotcopy, msql2mysql, mysql_convert_table_format, mysql_find_rows, mysql_fix_extensions, mysql_setpermission, mysql_waitpid, mysql_zap, mysqlaccess и mysqlbug.

Дополнительно сообщается, что 27 и 29 октября компания Oracle проведёт в Москве и Санкт-Петербурге семинары на русском языке, на которых будет рассказано об особенностях нового релиза MySQL.

Источник: http://www.opennet.ru/opennews/art.shtml?num=43162