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

What's hot

Демонстрация продуктов и технологий Net app
Демонстрация продуктов и технологий Net appДемонстрация продуктов и технологий Net app
Демонстрация продуктов и технологий Net app
КРОК
 
Все самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минутВсе самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минут
SkillFactory
 
Владимир Назаров, HPE: Зачем нужна миграция с UNIX на Linux? Выводы на основ...
Владимир Назаров, HPE:  Зачем нужна миграция с UNIX на Linux? Выводы на основ...Владимир Назаров, HPE:  Зачем нужна миграция с UNIX на Linux? Выводы на основ...
Владимир Назаров, HPE: Зачем нужна миграция с UNIX на Linux? Выводы на основ...
Банковское обозрение
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Sveta Smirnova
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Ontico
 
AT Consulting: внедрение OpenStack в корпоративной среде
AT Consulting: внедрение OpenStack в корпоративной средеAT Consulting: внедрение OpenStack в корпоративной среде
AT Consulting: внедрение OpenStack в корпоративной среде
Mirantis IT Russia
 
Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Andrey Akulov
 
Опыт внедрения OpenStack
Опыт внедрения OpenStackОпыт внедрения OpenStack
Опыт внедрения OpenStack
Yandex
 
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
Anastasia Rostova
 
Машины баз данных: концентрированное обозрение
Машины баз данных: концентрированное обозрениеМашины баз данных: концентрированное обозрение
Машины баз данных: концентрированное обозрение
Andrei Nikolaenko
 
Четырехлетие OpenStack - Сложный возраст OpenStack
Четырехлетие OpenStack - Сложный возраст OpenStackЧетырехлетие OpenStack - Сложный возраст OpenStack
Четырехлетие OpenStack - Сложный возраст OpenStack
OpenStackRussia
 
Oracle NoSQL Database
Oracle NoSQL DatabaseOracle NoSQL Database
Oracle NoSQL Database
Andrey Akulov
 
Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)
Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)
Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)
Ontico
 
Готовые решения Cisco для построения «частного облака»
Готовые решения Cisco для построения «частного облака»Готовые решения Cisco для построения «частного облака»
Готовые решения Cisco для построения «частного облака»
Cisco Russia
 
"Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7""Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7"
Badoo Development
 
ETegro: решения для ЦОД
ETegro: решения для ЦОДETegro: решения для ЦОД
ETegro: решения для ЦОД
Mirantis IT Russia
 
Программные интерфейсы управления серверной платформой и вычислительными стек...
Программные интерфейсы управления серверной платформой и вычислительными стек...Программные интерфейсы управления серверной платформой и вычислительными стек...
Программные интерфейсы управления серверной платформой и вычислительными стек...
Cisco Russia
 
Обзор инструментов Toad для администраторов Oracle
Обзор инструментов Toad для администраторов OracleОбзор инструментов Toad для администраторов Oracle
Обзор инструментов Toad для администраторов Oracle
BAKOTECH
 
ITkey: примеры использования OpenStack
 ITkey: примеры использования OpenStack ITkey: примеры использования OpenStack
ITkey: примеры использования OpenStack
Mirantis IT Russia
 
Решение TIONIX на базе Mirantis OpenStack
Решение TIONIX на базе Mirantis OpenStackРешение TIONIX на базе Mirantis OpenStack
Решение TIONIX на базе Mirantis OpenStack
Mirantis IT Russia
 

What's hot (20)

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

Similar to MySQL 8.0

Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Expolink
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
Vittorio Cioe
 
Oracle Big Data proposition
Oracle Big Data propositionOracle Big Data proposition
Oracle Big Data proposition
Andrey Akulov
 
Oracle database In-Memory - новая технология обработки в памяти
Oracle database In-Memory - новая технология обработки в памятиOracle database In-Memory - новая технология обработки в памяти
Oracle database In-Memory - новая технология обработки в памятиAndrey Akulov
 
MySQL Cloud Service
MySQL Cloud ServiceMySQL Cloud Service
MySQL Cloud Service
Vittorio Cioe
 
MySQL InnoDB Cluster
MySQL InnoDB ClusterMySQL InnoDB Cluster
MySQL InnoDB Cluster
Vittorio Cioe
 
Database as a Service
Database as a ServiceDatabase as a Service
Database as a ServiceAndrey Akulov
 
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
Банковское обозрение
 
ОПТИМИЗАЦИЯ ИНФРАСТРУКТУРЫ И СОКРАЩЕНИЕ ЗАТРАТ ПРИ ПОМОЩИ ПРОДУКТОВ И ТЕХНОЛО...
ОПТИМИЗАЦИЯ ИНФРАСТРУКТУРЫ И СОКРАЩЕНИЕ ЗАТРАТ ПРИ ПОМОЩИ ПРОДУКТОВ И ТЕХНОЛО...ОПТИМИЗАЦИЯ ИНФРАСТРУКТУРЫ И СОКРАЩЕНИЕ ЗАТРАТ ПРИ ПОМОЩИ ПРОДУКТОВ И ТЕХНОЛО...
ОПТИМИЗАЦИЯ ИНФРАСТРУКТУРЫ И СОКРАЩЕНИЕ ЗАТРАТ ПРИ ПОМОЩИ ПРОДУКТОВ И ТЕХНОЛО...Sasha_Zavorot
 
ОПТИМИЗАЦИЯ ИНФРАСТРУКТУРЫ И СОКРАЩЕНИЕ ЗАТРАТ ПРИ ПОМОЩИ ПРОДУКТОВ И ТЕХНОЛО...
ОПТИМИЗАЦИЯ ИНФРАСТРУКТУРЫ И СОКРАЩЕНИЕ ЗАТРАТ ПРИ ПОМОЩИ ПРОДУКТОВ И ТЕХНОЛО...ОПТИМИЗАЦИЯ ИНФРАСТРУКТУРЫ И СОКРАЩЕНИЕ ЗАТРАТ ПРИ ПОМОЩИ ПРОДУКТОВ И ТЕХНОЛО...
ОПТИМИЗАЦИЯ ИНФРАСТРУКТУРЫ И СОКРАЩЕНИЕ ЗАТРАТ ПРИ ПОМОЩИ ПРОДУКТОВ И ТЕХНОЛО...
Yaryomenko
 
Новое поколение серверов SPARC
Новое поколение серверов SPARCНовое поколение серверов SPARC
Новое поколение серверов SPARCAndrey Akulov
 
СISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStackСISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStack
Mirantis IT Russia
 
Oracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategyOracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategy
Andrey Akulov
 
Fors и big data appliance
Fors и big data applianceFors и big data appliance
Fors и big data appliance
CleverDATA
 
Решения Oracle для Big Data
Решения Oracle для Big DataРешения Oracle для Big Data
Решения Oracle для Big Data
Andrey Akulov
 
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Cisco Russia
 
Обзор обновленной линейки коммутаторов.  Unified Access.
Обзор обновленной линейки коммутаторов. Unified Access. Обзор обновленной линейки коммутаторов. Unified Access.
Обзор обновленной линейки коммутаторов.  Unified Access. Cisco Russia
 
Новости и анонсы конференции Oracle Open World 2013
Новости и анонсы конференции Oracle Open World 2013Новости и анонсы конференции Oracle Open World 2013
Новости и анонсы конференции Oracle Open World 2013
Andrey Akulov
 
My sql 5.6-new-stable-mmug
My sql 5.6-new-stable-mmugMy sql 5.6-new-stable-mmug
My sql 5.6-new-stable-mmug
Andrey Tokarchuk
 
«Oracle Application Quality Management: Средства тестирования и управления те...
«Oracle Application Quality Management: Средства тестирования и управления те...«Oracle Application Quality Management: Средства тестирования и управления те...
«Oracle Application Quality Management: Средства тестирования и управления те...Andrey Akulov
 

Similar to MySQL 8.0 (20)

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

More from Vittorio Cioe

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

More from Vittorio Cioe (6)

MySQL Document Store (Oracle Code Warsaw 2018)
MySQL Document Store (Oracle Code Warsaw 2018)MySQL Document Store (Oracle Code Warsaw 2018)
MySQL Document Store (Oracle Code Warsaw 2018)
 
Modern Data Security with MySQL
Modern Data Security with MySQLModern Data Security with MySQL
Modern Data Security with MySQL
 
MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!
 
Next Gen Applications
Next Gen ApplicationsNext Gen Applications
Next Gen Applications
 
Introduction to MySQL Enterprise
Introduction to MySQL EnterpriseIntroduction to MySQL Enterprise
Introduction to MySQL Enterprise
 
State of the dolphin
State of the dolphinState of the dolphin
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