SlideShare a Scribd company logo
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 8.0
Vittorio Cioe
MySQL Sr. Sales Consultant
vittorio.cioe@oracle.com
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
2
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 8.0.11 теперь доступен!
• 2 года в разработке
• 400+ рабочих журналов
• 5000+ исправлены ошибки
• 500 новых тестов
3
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Transactional (InnoDB) Data Dictionary
• Persistent runtime configuration changes (SET PERSIST)
• INVISIBLE indexes
• Common Table Expressions
• Windows Functions
• New default: utf8mb4 (UTF 9)
• Expanded GIS Support
• Expanded Query Hints Support
• Improved Scan Query Performance
• Improved BLOB Storage
• Improved InnoDB Memcached Interface
• Descending indexes
• Scalability Improvements
• Parser Refactoring
• New! Document Store
• Improvements to Temporary Tables
• C++11 and Toolchain Improvements
• Replication Applier Thread Progress Reports
• GTID_PURGED always settable
• Auto-increment counter value will now persist across
server restarts!
• Indexing of PS tables
• SQL roles (collection of privileges)
• MySQL privilege tables are now InnoDB
4
MySQL 8.0: Все это и многое другое ....
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Хорошие новости
для администраторов…
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 6
Набор символов для Интернета
MySQL 8.0: UTF-8
• Новость! Поддержка новейшего Unicode 9.0
• Правила сортировки (collation)
зависят от страны
– Чувствительность к акценту
– Чувствительность к регистру символов
• UTF8MB4 как набор символов по умолчанию
– Проект запущен уже в MySQL 5.7
– Многие улучшения для снижения
воздействия на производительность
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
UTF-8
• UTF-8 является доминирующим
набором символов в
современных приложениях
• Требует 1-4 байта для хранения
символов
• Историческо сложившийся
проблема с производительностью
Ведущий набор символов в Интернете
7
https://en.wikipedia.org/wiki/UTF-8
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 8.0 vs MySQL 5.7 utf8mb4
8
0
45000
90000
135000
180000
8 16 64 128 512 1024
SELECT DISTINCT_RANGES
0
10000
20000
30000
40000
8 16 64 128 512 1024
OLTP RO
0
7500
15000
22500
30000
8 16 64 128 512 1024
OLTP RW
+300-350% in OLTP RO
+176-233% in OLTP RW
+1500-1800% in SELECT DISTINCT_RANGES
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Повышенная надежность
• Построено на InnoDB
– Нет файлов FRM
– Нет файловDB.OPT
– Нет файлов TRG
– Нет файлов TRN
– Нет файлов PAR
– MyISAM уже не требуется
• Атомный DDL
– Лучшая репликация
– Транзакционноcть
• DML для внешних ключей
• API для гибких метаданных
– Простой путь к добавлению новых
функций
• Улучшенный кросс-
платформенный опыт
– Никаких зависимостей от семантики
файловой системы
9
MySQL 8.0: Встроенный словарь данных
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 10
MySQL 8.0: Атомарность в привилегиях
• Таблицы привилегий теперь 100% на InnoDB
• Атомные DDL для управления пользователями
– CREATE USER
– ALTER USER
– RENAME USER
– DROP USER
– GRANT
– REVOKE
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 8.0: Роли безопасности
• Полностью функциональные, гибкие,
правильно настроенные роли
• Создание и удаление ролей, выдавание ролей
• Выдавание роли ролям, выдавание роли пользователям
• Ограничить хосты, которые могут использовать
роли, Определить роли по умолчанию
• И даже визуализировать роли с помощью функции SQL
ROLES_GRAPHML ()
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 12
Улучшено, чтобы рассмотреть возможность использования пула буферов
Модель затрат Оптимизатора
Feature Request
from DBAs
SELECT * FROM Country
WHERE population > 20000000;
Модель для сканирования
таблицы:
# pages in table *
(IO_BLOCK_READ_COST |
MEMORY_BLOCK_READ_COST)
# records *
ROW_EVALUATE_COST
= 25.4 100% in memory
= 29.9 100% on disk
Модель для сканирования
в диапазоне:
# records_in_range *
(IO_BLOCK_READ_COST |
MEMORY_BLOCK_READ_COS
T)
# records_in_range *
ROW_EVALUATE_COST + #
records_in_range *
ROW_EVALUATE_COST
= 22.5 100% in memory
= 60 100% on disk
До сих пор MySQL всегда
предполагала, что данные
были размещены на диске
при оценке (или
моделировании) стоимости
запроса.
MySQL 8.0 учитывает, какая
часть индекса находится в
памяти, и динамически
снижает стоимость плана.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 13
MySQL 8.0: Невидимые индексы
• Индексы «скрыты» для оптимизатора MySQL
– Не то же самое, что «отключенные индексы»
– Содержимое полностью обновлено и поддерживается DML
• Два варианта использования:
– Мягкое удаление (корзина)
– Планируемый выпуск
Feature Request
from DBAs
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 8.0: Совместимость с облаком и контейнерами
• Новая переменная innodb_dedicated_server
– В зависимости от объема памяти, обнаруженной на сервере, автоматически
настраиваются innodb_buffer_pool_size, innodb_log_file_size,
innodb_flush_method
• Постоянное изменение конфигурации во время выполнения
– SET PERSIST variable_name = value;
– Любая переменная конфигурации «GLOBAL DYNAMIC» может быть изменена
– Настройки будут сохраняться в файле с именем mysqld-auto.cnf (формат JSON)
– Новая таблица performance_schema.variables_info
14
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Хорошие новости
для разработчиков…
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 8.0: Рекурсивный CTE
16
Feature Request
from Developers
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL 8.0: Функции окна
17
Feature Request
from Developers
• Используйте обычные агрегатные функции или ...
• RANK(), DENSE_RANK(), PERCENT_RANK()
• CUME_DIST()
• NTILE()
• ROW_NUMBER()
• FIRST_VALUE(), LAST_VALUE(), NTH_VALUE()
• LEAD(), LAG()
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Улучшения в ГИС
• Поддержка географии
• Поддержка пространственных опорных систем (SRS)
• Представления схемы информации SQL/MM
• Стандартное согласование оси в функции импорта / экспорта
• Вспомогательные функции для обработки и преобразования данных:
• st_y(geom, y)
• st_srid(geom, srid)
18
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Функции JSON
19
MySQL 5.7 и 8.0
JSON_ARRAY_APPEND()
JSON_ARRAY_INSERT()
JSON_ARRAY()
JSON_CONTAINS_PATH()
JSON_CONTAINS()
JSON_DEPTH()
JSON_EXTRACT()
JSON_INSERT()
JSON_KEYS()
JSON_LENGTH()
JSON_MERGE()
JSON_OBJECT()
JSON_QUOTE()
JSON_REMOVE()
JSON_REPLACE()
JSON_SEARCH()
JSON_SET()
JSON_TYPE()
JSON_UNQUOTE()
JSON_VALID()
JSON_PRETTY()
JSON_STORAGE_SIZE()
JSON_STORAGE_FREE()
JSON_ARRAYAGG()
JSON_OBJECTAGG()
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Улучшение опыта разработчиков с JSON
• Диапазоны в выражениях JSON Path:
• Оптимизатор поддерживает обновления на месте
• Улучшение производительности
20
MySQL 8.0
SELECT doc->>"$[last]" AS last from t1;
+------+
| last |
+------+
| 5 |
+------+
1 row in set (0.00 sec)
SELECT JSON_EXTRACT('[1, 2, 3, 4, 5]', '$[1 to 3]');
+----------------------------------------------+
| JSON_EXTRACT('[1, 2, 3, 4, 5]', '$[1 to 3]') |
+----------------------------------------------+
| [2, 3, 4] |
+----------------------------------------------+
1 row in set (0.00 sec)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Пример JSON_TABLE
SELECT id,amenity_type, distance FROM seats,
JSON_TABLE(doc, "$.properties.amenities[*]" COLUMNS (
id for ordinality, amenity_type VARCHAR(100) PATH "$.type",
distance float PATH '$.distance_in_meters')
) AS amenities
WHERE seats.id = 28100 AND amenities.amenity_type IN ('snacks', 'bar');
+--------+------------------+----------+
| id | amenity_type | distance |
+------+--------------------+----------+
| 2 | bar | 100.538 |
| 3 | snacks | 136.647 |
+--------+------------------+----------+
21
MySQL 8.0
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Новость! MySQL InnoDB Cluster X-Dev API
• Современный: гибкий API, цепочка методов
• Сеансы без учета состояния обеспечивают прозрачное
масштабирование во много-серверных средах
• Поддержка SQL
• CRUD для коллекций документов и таблиц
– Документы как простые и базовые объекты домена
– Выражения поиска соответствуют выражениям SQL SELECT
• Реализовано в оболочке MySQL и коннекторах MySQL
– Новость! MySQL Коннектор/node.js
– MySQL Коннектор/J
– MySQL Коннектор/Net
22
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL как хранилище документов
1. Улучшенная поддержка типа данных JSON
2. Операции CRUD
3. X-Plugin и X Protocol
4. Улучшенная оболочка MySQL
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Следующие шаги
Узнать больше
• https://dev.mysql.com/doc/relnotes/mysql/8.0/en
• https://dev.mysql.com/doc/refman/8.0/en/
• https://dev.mysql.com/doc/refman/8.0/en/document-store.html
Попробовать
• dev.mysql.com/downloads/
• https://labs.mysql.com/
Сообщите нам свое мнение
• http://mysqlhighavailability.com/
• http://forums.mysql.com/list.php?25
9th April 2015 Copyright 2015, oracle and/or its affiliates. All rights reserved 24
MySQL 8.0

More Related Content

PDF
MySQL NDB Cluster
PDF
AZadonsky Exalogic
PDF
Что нужно знать о трёх топовых фичах MySQL
PDF
Dell Active System: Фундамент для частного «облака»
PDF
Велосипедостраительство в NoSQL, строим собственное NoSQL хранилище
PDF
Обзор интегрированных систем Oracle
PDF
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
PDF
Развитие интегрированных решений на основе Cisco UCS
MySQL NDB Cluster
AZadonsky Exalogic
Что нужно знать о трёх топовых фичах MySQL
Dell Active System: Фундамент для частного «облака»
Велосипедостраительство в NoSQL, строим собственное NoSQL хранилище
Обзор интегрированных систем Oracle
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
Развитие интегрированных решений на основе Cisco UCS

What's hot (20)

PDF
Демонстрация продуктов и технологий Net app
PDF
Все самые важные команды SQL за 60 минут
PDF
Владимир Назаров, HPE: Зачем нужна миграция с UNIX на Linux? Выводы на основ...
PDF
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
PDF
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
PDF
AT Consulting: внедрение OpenStack в корпоративной среде
PDF
Новости и анонсы Oracle Open World 2014
PPTX
Опыт внедрения OpenStack
PDF
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
PDF
Машины баз данных: концентрированное обозрение
PDF
Четырехлетие OpenStack - Сложный возраст OpenStack
PPTX
Oracle NoSQL Database
PDF
Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)
PDF
Готовые решения Cisco для построения «частного облака»
PDF
"Новые возможности MySQL 5.7"
PDF
ETegro: решения для ЦОД
PDF
Программные интерфейсы управления серверной платформой и вычислительными стек...
PPTX
Обзор инструментов Toad для администраторов Oracle
PDF
ITkey: примеры использования OpenStack
PDF
Решение TIONIX на базе Mirantis OpenStack
Демонстрация продуктов и технологий Net app
Все самые важные команды SQL за 60 минут
Владимир Назаров, HPE: Зачем нужна миграция с UNIX на Linux? Выводы на основ...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
AT Consulting: внедрение OpenStack в корпоративной среде
Новости и анонсы Oracle Open World 2014
Опыт внедрения OpenStack
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
Машины баз данных: концентрированное обозрение
Четырехлетие OpenStack - Сложный возраст OpenStack
Oracle NoSQL Database
Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)
Готовые решения Cisco для построения «частного облака»
"Новые возможности MySQL 5.7"
ETegro: решения для ЦОД
Программные интерфейсы управления серверной платформой и вычислительными стек...
Обзор инструментов Toad для администраторов Oracle
ITkey: примеры использования OpenStack
Решение TIONIX на базе Mirantis OpenStack
Ad

Similar to MySQL 8.0 (20)

PDF
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
PDF
MySQL Enterprise Monitor
PPTX
Oracle Big Data proposition
PDF
Oracle database In-Memory - новая технология обработки в памяти
PDF
MySQL Cloud Service
PDF
MySQL InnoDB Cluster
PDF
Database as a Service
PDF
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
PDF
ОПТИМИЗАЦИЯ ИНФРАСТРУКТУРЫ И СОКРАЩЕНИЕ ЗАТРАТ ПРИ ПОМОЩИ ПРОДУКТОВ И ТЕХНОЛО...
PDF
ОПТИМИЗАЦИЯ ИНФРАСТРУКТУРЫ И СОКРАЩЕНИЕ ЗАТРАТ ПРИ ПОМОЩИ ПРОДУКТОВ И ТЕХНОЛО...
PDF
Новое поколение серверов SPARC
PDF
СISCO: групповые политики в OpenStack
PPTX
Oracle Cloud Computing portfolio and strategy
PDF
Fors и big data appliance
PDF
Решения Oracle для Big Data
PDF
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
PDF
Обзор обновленной линейки коммутаторов.  Unified Access.
PDF
Новости и анонсы конференции Oracle Open World 2013
PDF
My sql 5.6-new-stable-mmug
PDF
«Oracle Application Quality Management: Средства тестирования и управления те...
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
MySQL Enterprise Monitor
Oracle Big Data proposition
Oracle database In-Memory - новая технология обработки в памяти
MySQL Cloud Service
MySQL InnoDB Cluster
Database as a Service
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
ОПТИМИЗАЦИЯ ИНФРАСТРУКТУРЫ И СОКРАЩЕНИЕ ЗАТРАТ ПРИ ПОМОЩИ ПРОДУКТОВ И ТЕХНОЛО...
ОПТИМИЗАЦИЯ ИНФРАСТРУКТУРЫ И СОКРАЩЕНИЕ ЗАТРАТ ПРИ ПОМОЩИ ПРОДУКТОВ И ТЕХНОЛО...
Новое поколение серверов SPARC
СISCO: групповые политики в OpenStack
Oracle Cloud Computing portfolio and strategy
Fors и big data appliance
Решения Oracle для Big Data
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Обзор обновленной линейки коммутаторов.  Unified Access.
Новости и анонсы конференции Oracle Open World 2013
My sql 5.6-new-stable-mmug
«Oracle Application Quality Management: Средства тестирования и управления те...
Ad

More from Vittorio Cioe (6)

PDF
MySQL Document Store (Oracle Code Warsaw 2018)
PDF
Modern Data Security with MySQL
PDF
MySQL InnoDB Cluster: High Availability Made Easy!
PDF
Next Gen Applications
PDF
Introduction to MySQL Enterprise
PDF
State of the dolphin
MySQL Document Store (Oracle Code Warsaw 2018)
Modern Data Security with MySQL
MySQL InnoDB Cluster: High Availability Made Easy!
Next Gen Applications
Introduction to MySQL Enterprise
State of the dolphin

MySQL 8.0

  • 1. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 8.0 Vittorio Cioe MySQL Sr. Sales Consultant vittorio.cioe@oracle.com
  • 2. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2
  • 3. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 8.0.11 теперь доступен! • 2 года в разработке • 400+ рабочих журналов • 5000+ исправлены ошибки • 500 новых тестов 3
  • 4. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | • Transactional (InnoDB) Data Dictionary • Persistent runtime configuration changes (SET PERSIST) • INVISIBLE indexes • Common Table Expressions • Windows Functions • New default: utf8mb4 (UTF 9) • Expanded GIS Support • Expanded Query Hints Support • Improved Scan Query Performance • Improved BLOB Storage • Improved InnoDB Memcached Interface • Descending indexes • Scalability Improvements • Parser Refactoring • New! Document Store • Improvements to Temporary Tables • C++11 and Toolchain Improvements • Replication Applier Thread Progress Reports • GTID_PURGED always settable • Auto-increment counter value will now persist across server restarts! • Indexing of PS tables • SQL roles (collection of privileges) • MySQL privilege tables are now InnoDB 4 MySQL 8.0: Все это и многое другое ....
  • 5. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Хорошие новости для администраторов… Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
  • 6. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 6 Набор символов для Интернета MySQL 8.0: UTF-8 • Новость! Поддержка новейшего Unicode 9.0 • Правила сортировки (collation) зависят от страны – Чувствительность к акценту – Чувствительность к регистру символов • UTF8MB4 как набор символов по умолчанию – Проект запущен уже в MySQL 5.7 – Многие улучшения для снижения воздействия на производительность
  • 7. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | UTF-8 • UTF-8 является доминирующим набором символов в современных приложениях • Требует 1-4 байта для хранения символов • Историческо сложившийся проблема с производительностью Ведущий набор символов в Интернете 7 https://en.wikipedia.org/wiki/UTF-8
  • 8. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 8.0 vs MySQL 5.7 utf8mb4 8 0 45000 90000 135000 180000 8 16 64 128 512 1024 SELECT DISTINCT_RANGES 0 10000 20000 30000 40000 8 16 64 128 512 1024 OLTP RO 0 7500 15000 22500 30000 8 16 64 128 512 1024 OLTP RW +300-350% in OLTP RO +176-233% in OLTP RW +1500-1800% in SELECT DISTINCT_RANGES
  • 9. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | • Повышенная надежность • Построено на InnoDB – Нет файлов FRM – Нет файловDB.OPT – Нет файлов TRG – Нет файлов TRN – Нет файлов PAR – MyISAM уже не требуется • Атомный DDL – Лучшая репликация – Транзакционноcть • DML для внешних ключей • API для гибких метаданных – Простой путь к добавлению новых функций • Улучшенный кросс- платформенный опыт – Никаких зависимостей от семантики файловой системы 9 MySQL 8.0: Встроенный словарь данных
  • 10. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 10 MySQL 8.0: Атомарность в привилегиях • Таблицы привилегий теперь 100% на InnoDB • Атомные DDL для управления пользователями – CREATE USER – ALTER USER – RENAME USER – DROP USER – GRANT – REVOKE
  • 11. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 8.0: Роли безопасности • Полностью функциональные, гибкие, правильно настроенные роли • Создание и удаление ролей, выдавание ролей • Выдавание роли ролям, выдавание роли пользователям • Ограничить хосты, которые могут использовать роли, Определить роли по умолчанию • И даже визуализировать роли с помощью функции SQL ROLES_GRAPHML ()
  • 12. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 12 Улучшено, чтобы рассмотреть возможность использования пула буферов Модель затрат Оптимизатора Feature Request from DBAs SELECT * FROM Country WHERE population > 20000000; Модель для сканирования таблицы: # pages in table * (IO_BLOCK_READ_COST | MEMORY_BLOCK_READ_COST) # records * ROW_EVALUATE_COST = 25.4 100% in memory = 29.9 100% on disk Модель для сканирования в диапазоне: # records_in_range * (IO_BLOCK_READ_COST | MEMORY_BLOCK_READ_COS T) # records_in_range * ROW_EVALUATE_COST + # records_in_range * ROW_EVALUATE_COST = 22.5 100% in memory = 60 100% on disk До сих пор MySQL всегда предполагала, что данные были размещены на диске при оценке (или моделировании) стоимости запроса. MySQL 8.0 учитывает, какая часть индекса находится в памяти, и динамически снижает стоимость плана.
  • 13. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 13 MySQL 8.0: Невидимые индексы • Индексы «скрыты» для оптимизатора MySQL – Не то же самое, что «отключенные индексы» – Содержимое полностью обновлено и поддерживается DML • Два варианта использования: – Мягкое удаление (корзина) – Планируемый выпуск Feature Request from DBAs
  • 14. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 8.0: Совместимость с облаком и контейнерами • Новая переменная innodb_dedicated_server – В зависимости от объема памяти, обнаруженной на сервере, автоматически настраиваются innodb_buffer_pool_size, innodb_log_file_size, innodb_flush_method • Постоянное изменение конфигурации во время выполнения – SET PERSIST variable_name = value; – Любая переменная конфигурации «GLOBAL DYNAMIC» может быть изменена – Настройки будут сохраняться в файле с именем mysqld-auto.cnf (формат JSON) – Новая таблица performance_schema.variables_info 14
  • 15. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Хорошие новости для разработчиков… Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
  • 16. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 8.0: Рекурсивный CTE 16 Feature Request from Developers
  • 17. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 8.0: Функции окна 17 Feature Request from Developers • Используйте обычные агрегатные функции или ... • RANK(), DENSE_RANK(), PERCENT_RANK() • CUME_DIST() • NTILE() • ROW_NUMBER() • FIRST_VALUE(), LAST_VALUE(), NTH_VALUE() • LEAD(), LAG()
  • 18. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Улучшения в ГИС • Поддержка географии • Поддержка пространственных опорных систем (SRS) • Представления схемы информации SQL/MM • Стандартное согласование оси в функции импорта / экспорта • Вспомогательные функции для обработки и преобразования данных: • st_y(geom, y) • st_srid(geom, srid) 18
  • 19. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Функции JSON 19 MySQL 5.7 и 8.0 JSON_ARRAY_APPEND() JSON_ARRAY_INSERT() JSON_ARRAY() JSON_CONTAINS_PATH() JSON_CONTAINS() JSON_DEPTH() JSON_EXTRACT() JSON_INSERT() JSON_KEYS() JSON_LENGTH() JSON_MERGE() JSON_OBJECT() JSON_QUOTE() JSON_REMOVE() JSON_REPLACE() JSON_SEARCH() JSON_SET() JSON_TYPE() JSON_UNQUOTE() JSON_VALID() JSON_PRETTY() JSON_STORAGE_SIZE() JSON_STORAGE_FREE() JSON_ARRAYAGG() JSON_OBJECTAGG()
  • 20. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Улучшение опыта разработчиков с JSON • Диапазоны в выражениях JSON Path: • Оптимизатор поддерживает обновления на месте • Улучшение производительности 20 MySQL 8.0 SELECT doc->>"$[last]" AS last from t1; +------+ | last | +------+ | 5 | +------+ 1 row in set (0.00 sec) SELECT JSON_EXTRACT('[1, 2, 3, 4, 5]', '$[1 to 3]'); +----------------------------------------------+ | JSON_EXTRACT('[1, 2, 3, 4, 5]', '$[1 to 3]') | +----------------------------------------------+ | [2, 3, 4] | +----------------------------------------------+ 1 row in set (0.00 sec)
  • 21. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Пример JSON_TABLE SELECT id,amenity_type, distance FROM seats, JSON_TABLE(doc, "$.properties.amenities[*]" COLUMNS ( id for ordinality, amenity_type VARCHAR(100) PATH "$.type", distance float PATH '$.distance_in_meters') ) AS amenities WHERE seats.id = 28100 AND amenities.amenity_type IN ('snacks', 'bar'); +--------+------------------+----------+ | id | amenity_type | distance | +------+--------------------+----------+ | 2 | bar | 100.538 | | 3 | snacks | 136.647 | +--------+------------------+----------+ 21 MySQL 8.0
  • 22. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Новость! MySQL InnoDB Cluster X-Dev API • Современный: гибкий API, цепочка методов • Сеансы без учета состояния обеспечивают прозрачное масштабирование во много-серверных средах • Поддержка SQL • CRUD для коллекций документов и таблиц – Документы как простые и базовые объекты домена – Выражения поиска соответствуют выражениям SQL SELECT • Реализовано в оболочке MySQL и коннекторах MySQL – Новость! MySQL Коннектор/node.js – MySQL Коннектор/J – MySQL Коннектор/Net 22
  • 23. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL как хранилище документов 1. Улучшенная поддержка типа данных JSON 2. Операции CRUD 3. X-Plugin и X Protocol 4. Улучшенная оболочка MySQL
  • 24. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Следующие шаги Узнать больше • https://dev.mysql.com/doc/relnotes/mysql/8.0/en • https://dev.mysql.com/doc/refman/8.0/en/ • https://dev.mysql.com/doc/refman/8.0/en/document-store.html Попробовать • dev.mysql.com/downloads/ • https://labs.mysql.com/ Сообщите нам свое мнение • http://mysqlhighavailability.com/ • http://forums.mysql.com/list.php?25 9th April 2015 Copyright 2015, oracle and/or its affiliates. All rights reserved 24