Представлен стабильный релиз MySQL 8.0

Аватар Светлана Хачатурян

Oracle анонсировала выход MySQL 8.0. Обновлённая СУБД теперь поддерживает Emoji, одновременную работу классических таблиц с NoSQL, больше функций для работы с JSON и почти в два раза производительнее MySQL 5.7.

Спустя почти 7 месяцев с момента выхода первого «сырого» варианта MySQL 8.0, Oracle презентовала официальную стабильную версию популярной реляционной СУБД. Помимо ранее реализованных опций, в обновлении представлена поддержка NoSQL и ГИС, улучшены функции по работе с таблицами и обработке регулярных выражений, а также повышены показатели безопасности, доступности, управляемости и надёжности.

Что нового?

Система управления базами данных MySQL 8.0 оснащена:

  • поддержкой Emoji;
  • MySQL Document Store, упраздняющей необходимость в создании отдельной NoSQL-таблицы для смешанных приложений:
Представлен стабильный релиз MySQL 8.0 1
  • оконными функциями SQL;
  • поддержкой рекурсивных и нерекурсивных Common Table Expressions (CTE), позволяющими использовать временные именованные результирующие наборы, задаваемые при помощи оператора WITH:
Представлен стабильный релиз MySQL 8.0 2
  • поддержкой NOWAIT и SKIP LOCKED, которые можно использовать для управления поведением при наличии блокировок в момент выполнения выражений SELECT ... FOR SHARE и SELECT ... FOR UPDATE;
  • поддержкой нисходящих индексов;
  • функцией GROUPING(), отделяющей полученные после агрегирования строк при GROUP BY с использованием ROLLUP значения NULL от NULL в обычных сгруппированных строках.

JSON

Особо выделяются нововведения, реализованные в рамках работы с форматом JSON:

  • расширенный синтаксис для задания диапазонов (например, SELECT JSON_EXTRACT('[1, 2, 3, 4, 5]', '$[1 to 3]'); в качестве результата выдаст [2, 3, 4]);
  • табличные функции JSON для манипулирования данными этого формата напрямую через SQL;
  • функции агрегирования JSON_ARRAYAGG() для генерации JSON-массивов и JSON_OBJECTAGG() для генерации JSON-объектов;
  • функции слияния JSON, позволяющие удалять дубликаты в пользу второго документа (например,JSON_MERGE('{"a":1,"b":2 }','{"a":3,"c":4 }'); вернёт {"a":3,"b":2,"c":4}.
  • улучшенная сортировка с помощью переменных сортировочных ключей, решающая задачу до 18 раз быстрее предыдущей версии инструмента.

Отмечается, что MySQL 8.0 работает до 2 раз быстрее MySQL 5.7.

Представлен стабильный релиз MySQL 8.0 3

Более подробно с техническими деталями обновлённой СУБД можно ознакомиться в официальной документации. MySQL 8.0 доступна для скачивания на Windows, macOS и популярные дистрибутивы Linux.

MySQL
Базы данных
3698