The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Стабильный релиз СУБД MySQL 8.0"
Отправлено opennews, 19-Апр-18 23:30 
После двух с половиной лет разработки компания Oracle представила (https://mysqlserverteam.com/whats-new-in-mysql-8-0-generally.../) первый стабильный релиз СУБД MySQL 8.0 (http://dev.mysql.com/doc/relnotes/mysql/8.0/en/).  Версия 8.0 обусловлена сменой нумерации версий, релиз выпущен следом за 5.7 вместо версии 5.8.  Сборки MySQL Community Server 8 сформированы (https://dev.mysql.com/downloads/mysql/) для всех основных дистрибутивов Linux, FreeBSD, macOS и Windows.


Ключевые улучшения (http://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html) MySQL 8.0:


-  Добавлен (https://mysqlserverteam.com/mysql-8-0-announcing-ga-of-the-m.../) режим работы в качестве хранилища документов (Document Store (https://dev.mysql.com/doc/refman/8.0/en/document-store.html)), к которому можно обращаться с использованием методов NoSQL (коллекции JSON (https://dev.mysql.com/doc/refman/8.0/en/document-store-conce...) без предварительно определяемой схемы хранения). Функциональность реализована при помощи плагина mysqlxplugin;

-  Добавлены оконные функции (https://dev.mysql.com/doc/refman/8.0/en/window-functions.html) (window-функции или аналитические функции), позволяющие для каждой строки запроса выполнить вычисления, используя строки, связанные с текущей строкой. В отличие от агрегатных функций над сгруппированными строками, которые свёртывают сгруппированный набор строк в одну строку, оконные функции производят (https://mysqlserverteam.com/row-numbering-ranking-how-to-use.../) агрегирование для каждой строки в результирующем наборе. Реализованы как специальные оконные функции RANK, LAG, ROW_NUMBER, FIRST_VALUE, LEAD, LAG  и NTILE, так как возможность применение некоторых агрегатных функций в форме оконных (например, COUNT, SUM, AVG, MIN, MAX);

-  Поддержка рекурсивных и не рекурсивных обобщённых табличных выражений (Common Table Expression (https://dev.mysql.com/doc/refman/8.0/en/with.html)), позволяющих (http://mysqlserverteam.com/mysql-8-0-1-recursive-common-tabl.../) использовать временные именованные результирующие наборы , задаваемые при помощи оператора WITH;

-  В InnoDB добавлена (https://mysqlserverteam.com/mysql-8-0-1-using-skip-locked-an.../) поддержка опций NOWAIT и SKIP LOCKED, которые можно использовать для управления поведением при наличии блокировок в момент выполнения выражений "SELECT ... FOR SHARE" и "SELECT ... FOR UPDATE". При указании NOWAIT управление будет возвращено сразу с выводом ошибки, если запрошенная строка заблокирована другой транзакцией, а  при "SKIP LOCKED" заблокированные строки будут исключены из результирующего набора;-  Поддержка невидимых индексов (Invisible Indexes (https://dev.mysql.com/doc/refman/8.0/en/invisible-indexes.html), которые никогда не используются оптимизатором. Управление видимостью индекса производится при помощи ключевых слов VISIBLE и INVISIBLE. Обычный видимый индекс может быть превращён в невидимый и наоборот. Невидимые индексы можно использовать для тестирования влияния того или иного индекса на производительность, без физического удаления данного индекса (индекс можно перевести в режим невидимого, изучить изменение производительности и вернуть обратно);

-  Поддержка нисходящих индексов (descending indexes (https://dev.mysql.com/doc/refman/8.0/en/descending-indexes.html)), позволяющих (http://mysqlserverteam.com/mysql-8-0-labs-descending-indexes.../) использовать оператор "DESC" при определении индекса для сохранения значений ключей в порядке убывания. В работе подобные индексы не требуют сканирования в обратном порядке, что значительно увеличивает эффективность работы с убывающими значениями;

-  Реализована (https://mysqlserverteam.com/mysql-8-0-grouping-function/) функция GROUPING(), которая позволяет отделить NULL-значения, полученные в результате агрегирования строк при группировке GROUP BY с использованием таких расширений, как ROLLUP, от  NULL-значений в обычных сгруппированных строках;

-  Добавлены новые подсказки для управления поведением оптимизатора (задаются внутри комментария /*+ */, указываемого сразу после ключевых слов  SELECT, INSERT, REPLACE, UPDATE  и DELETE): INDEX_MERGE и NO_INDEX_MERGE для управления поведением слияния индексов для отдельных запросов,  JOIN_FIXED_ORDER, JOIN_ORDER, JOIN_PREFIX и JOIN_SUFFIX для управления порядком обработки таблиц при выполнении слияния, SET_VAR для установки системной переменной в контексте текущего выражения;

-  Добавлены новые функции для манипуляции данными в формате JSON:

-  Расширен синтаксис для определения диапазонов значений в JSON, например "SELECT JSON_EXTRACT('[1, 2, 3, 4, 5]', '$[1 to 3]');".
-  Добавлена поддержка табличных функций, позволяющих использовать SQL для данных JSON (при помощи функции JSON_TABLE() создаётся реляционного представление данных JSON).
-  Добавлены агрегатные функции
JSON_ARRAYAGG() для генерации массивов JSON и JSON_OBJECTAGG() для генерации объектов JSON.
-  Добавлены функции слияния  JSON_MERGE_PATCH()
и  JSON_MERGE_PRESERVE(). Добавлена функция  JSON_PRETTY() для приведения блоков JSON к читаемому виду;
-  Добавлена функция JSON_STORAGE_SIZE() для вычисления размера, который занимает объект JSON;
-  От 1.2 до 18 раз увеличена производительность сортировки и группировки значений JSON;

-  Добавлена поддержка пространственных типов данных, индексов и функций, позволяющих работать с географическими координатами и картографическими данными;

-  По умолчанию задействована кодировка UTF8MB4 (https://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8...) (ранее применялась кодировка latin1) и поддержка свойства локали "Collation", позволяющего задавать правила сортировки и методы сопоставления с учётом смысла символов. По сравнению с версией MySQL 5.7 существенно (до 20 раз) увеличена производительность сортировки данных в кодировке UTF8MB4;
-  Transactional Data Dictionary (https://dev.mysql.com/doc/refman/8.0/en/data-dictionary.html) - новый механизм хранения системных данных, поддерживающий транзакции и реализованный в видео набора SQL-таблиц, хранимых  отдельном табличном пространстве  InnoDB;
-  Новая система ролей (https://dev.mysql.com/doc/refman/8.0/en/roles.html) (именованных коллекций привилегий), позволяющая делегировать и блокировать полномочия для групп пользователей;
-  Задействован по умолчанию плагин аутентификации caching_sha2_password (https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggab...), использующий  SHA-256 для хэширования паролей, но по сравнению с плагином sha256_password  обеспечивающий более высокую производительность за счёт использования кэширования;
-  В качестве библиотеки с реализацией TLS/SSL по умолчанию задействован OpenSSL;-  Проведены различные оптимизации производительности, например, в тесте upto достигнуто почти двухкратное ускорение и производительность на уровне 1.8 млн запросов в секунду. Скорость запросов к таблицам  Performance Schema возросла до 30 раз, а к таблицам Information Schema до 100 раз.


URL: https://mysqlserverteam.com/whats-new-in-mysql-8-0-generally.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=48466

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру