SlideShare a Scribd company logo
1 of 38
Download to read offline
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Введение
в класетрe
InnoDB
Vittorio Cioe
MySQL Sr. Sales Consultant
vittorio.cioe@oracle.com
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Copyright © 2017, 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 © 2017, Oracle and/or its affiliates. All rights reserved. |
Повестка дня
3
Введение в кластере InnoDB
Компоненты
Настройка, мониторинг и управление
Что дальше?
1
2
3
4
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Повестка дня
4
Введение в кластере InnoDB
Компоненты
Настройка, мониторинг и управление
Что дальше?
1
2
3
4
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Практически все организации
требуют, чтобы их наиболее
важные системы были высоко
доступными
5
%
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
InnoDB Cluster
6
Серверы приложений с
MySQL Router
MySQL Group Replication
MySQL Shell
Настройка, управление,
оркестрование
«Высокая доступность становится
основной первоклассной
функцией MySQL!»
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 7
MySQL InnoDB кластер: Видение
«Один продукт - MySQL - с встроенными функциями высокой
доступности и масштабирования; обеспечивая
интегрированное сквозное решение, которое легко
использовать».
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL InnoDB Cluster: Внутренняя архитектура
M
M M
MySQL соединитель
Приложение
MySQL Маршрутизатор
MySQL соединитель
Приложение
MySQL Маршрутизатор
MySQL Shell
В.Д.
Репликация групп
8
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Повестка дня
9
Введение в кластере InnoDB
Компоненты
Настройка, мониторинг и управление
Что дальше?
1
2
3
4
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL
Репликация групп
Натурально распределенные и высокодоступные наборы реплик
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Репликация групп: Что это?
• Библиотека для Group Replication
– Реализация Replicated Database State Machine
• MySQL GCS основан на нашей доморощенную реализации
Paxos
– Обеспечивает практически синхронную репликацию
для MySQL 5.7+
• Гарантирует возможную консистенцию
– Автоматизирует операции
• Обнаружение и решение конфликтов
• Обнаружение сбоев, аварийное переключение,
восстановление
• Управление членством в группах и реконфигурация
11
Серверы приложений с
MySQL Router
MySQL Group Replication
MySQL Shell
Настройка, управление,
оркестрование
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Репликация групп: Что это предоставляет
• Высоко доступная распределенная служба базы данных MySQL
– Устраняет необходимость ручной обработки отказа сервера
– Обеспечивает распределенную отказоустойчивость
– Включает обновление Active / Active в любых настройках
– Автоматизирует изменение конфигурации (добавление / удаление узлов,
сбои, отказы)
– Автоматически обнаруживает и обрабатывает конфликты
– Обеспечивает гарантии против потери данных
12
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Репликация групп: Сценарии использования
• Упругая репликация
– Среды, для которых требуется очень гибкая инфраструктура репликации, где количество
серверов должно расти или сокращаться динамически и с минимальной болью.
• Высоко доступный
– Репликация - популярный подход для достижения масштабируемости. Пользователи
могут использовать репликацию групп MySQL для реализации в федеративной системе.
Каждый осколок может отображаться в группу репликации.
• Альтернатива репликации Master / Slave
– Возможно, что один главный сервер является единым точкой раздора. При
определенных обстоятельствах запись в целую группу может оказаться более
масштабируемой.
13
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Репликация групп: Архитектура
Node Types
R: Маршрутизаторы трафика / прокси: mysqlrouter, haproxy, sqlproxy
M: Узлы mysqld, участвующие в репликации групп
14
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Обновление Multi-Master везде!
• Любые две транзакции на разных серверах могут записываться в один
и тот же кортеж.
• Конфликты будут обнаружены и устраненный.
15
M M M M M
UPDATE t1 SET a=4 WHERE a=2UPDATE t1 SET a=3 WHERE a=1
Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Обновление Multi-Master везде!
• Любые две транзакции на разных серверах могут записываться в один
и тот же кортеж.
• Конфликты будут обнаружены и устраненный.
– Первый коммиттер выигрывает
16
M M M M M
UPDATE t1 SET a=4 WHERE a=2UPDATE t1 SET a=3 WHERE a=1
OKOK
Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Обновление Multi-Master везде!
• Любые две транзакции на разных серверах могут записываться в один
и тот же кортеж.
• Конфликты будут обнаружены и устраненный.
– Первый коммиттер выигрывает
17
M M M M M
UPDATE t1 SET a=2 WHERE a=1UPDATE t1 SET a=3 WHERE a=1
Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Обновление Multi-Master везде!
• Любые две транзакции на разных серверах могут записываться в один
и тот же кортеж.
• Конфликты будут обнаружены и устраненный.
– Первый коммиттер выигрывает
18
M M M M M
UPDATE t1 SET a=2 WHERE a=1UPDATE t1 SET a=3 WHERE a=1
OK
Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Автоматическое распределённый восстановление сервера!
• Сервер, который присоединяется к группе, автоматически
синхронизируется с другими.
19
M M M M M N
ОНЛАЙН
ВОССТАНОВЛЕНИЕ
Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Требования (по дизайну)
• Требуется подсистема хранения InnoDB.
• Первичный ключ требуется для каждой таблицы
• Требуется включить глобальные идентификаторы транзакций.
• Оптимистичное исполнение: транзакции могут прерываться в COMMIT
из-за конфликтов с параллельными транзакциями у других участников.
• Нет одновременного DDL
• Без режима изоляции транзакций «SERIALIZABLE»
• Ограничения на использование внешних ключей
20Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
[1]: http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/
Режим одиночной первичной
• Режим конфигурации, при котором один член действует как
записываемый мастер (ПЕРВИЧНЫЙ), а остальные члены действуют
как горячий резерв (Вторичный).
– Сама группа автоматически координирует, чтобы выяснить, кто является членом,
который будет действовать как ПЕРВИЧНЫЙ, через механизм выбора лидеров.
• Основная мотивация этого нового режима конфигурации - обеспечить
единое мастер-поведение для пользователей репликации групп,
ближе к тому, что пользователи привыкли, используя асинхронную
репликацию.
21Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
[1]: http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/
Режим одиночной первичной
• Автоматический механизм выборов лидера
22
В В В В П В
Первичный
Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
[1]: http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/
Режим одиночной первичной
• Автоматический механизм выборов лидера
23
В В В П В
Первичный
Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL-Маршрутизатор
Прозрачная маршрутизация соединений приложений
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Router: Роутинг клиентов и высокая доступность
• Встроенная поддержка кластеров InnoDB
– Понимает топологию репликации групп
– Использует схему метаданных, хранящуюся на каждом
члене кластера
• Cамостоятельно запускается и настраивает маршрутизацию
клиента для кластера InnoDB
• Позволяет умную маршрутизацию клиентов в кластер InnoDB
– Поддерживает многомашинные и одиночные
первичные режимы
• Основные улучшения
– Встроенный хранилище для ключей, для простого и
безопасного управления паролями
25
Серверы приложений с
MySQL Router
MySQL Group Replication
MySQL Shell
Настройка, управление,
оркестрование
«MySQL Router 2.1, с новым плагином metadata_cache, обеспечивает прозрачную
маршрутизацию клиентских соединений и переход на другой ресурс в кластеры InnoDB!»
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL-Оболочка
Единый инструмент для разработки,
настройки, управления, оркестровки и мониторинга
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Оболочка
27
Унифицированный клиент для всех административных и операционных задач
Серверы приложений с
MySQL Router
MySQL Group Replication
MySQL Shell
Настройка, управление,
оркестрование
• Многоязычность: JavaScript, Python и SQL
– Натуральная склонность к пользованию через
скрипты
• Поддерживает документальные и
реляционные модели
• Предоставляет полный набор API для
разработки и администрирования
«MySQL Shell предоставляет разработчику и DBA единый интуитивно
понятный, гибкий и мощный интерфейс для всех задач, связанных с
MySQL!»
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Оболочка : DBA Admin API
• Глобальная переменная 'dba' используется для
доступа к MySQL AdminAPI
• mysql-js> dba.help()
• Выполнение операций DBA
• Создание кластеров
• Проверка инстанций MySQL
• Настройка инстанций MySQL
• Получить информации о кластере
• Изменение кластеров
• и многое другое ...
Серверы приложений с
MySQL Router
MySQL Group Replication
MySQL Shell
Настройка, управление,
оркестрование
28
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Повестка дня
29
Введение в кластере InnoDB
Компоненты
Настройка, мониторинг и управление
Что дальше?
1
2
3
4
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Оболочка: Настройка инстанций MySQL
shell> mysqlsh root@localhost
mysql-js> dba.checkInstanceConfiguration(‘localhost:3306’)
mysql-js> dba.configureLocalInstance(‘localhost:3306’)
shell> mysqlsh root@localhost
mysql-js> dba.checkInstanceConfiguration(‘localhost:3306’)
mysql-js> dba.configureLocalInstance(‘localhost:3306’)
30
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Оболочка: Создание кластера InnoDB
mysql-js> cluster = dba.createCluster(‘NewAppCluster')
mysql-js> cluster.addInstance('root@hanode1:3306')
mysql-js> cluster.addInstance('root@hanode2:3306')
mysql-js> cluster.addInstance('root@hanode3:3306')
# to persist the config changes on each machine
shell> mysqlsh root@localhost
mysql-js> dba.configureLocalInstance(‘localhost:3306’)
mysql-js> cluster = dba.createCluster(‘NewAppCluster')
mysql-js> cluster.addInstance('root@hanode1:3306')
mysql-js> cluster.addInstance('root@hanode2:3306')
mysql-js> cluster.addInstance('root@hanode3:3306')
# to persist the config changes on each machine
shell> mysqlsh root@localhost
mysql-js> dba.configureLocalInstance(‘localhost:3306’)
31
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Оболочка: Добавить MySQL-Маршрутизатор
shell> mysqlrouter --bootstrap hanode1:3306
shell> mysqlrouter &
shell> mysqlsh root@localhost:6446
shell> mysqlrouter --bootstrap hanode1:3306
shell> mysqlrouter &
shell> mysqlsh root@localhost:6446
32
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Оболочка: Проверить Состояние
shell> mysqlsh root@localhost:6446
mysql-js> cluster = dba.getCluster()
mysql-js> cluster.status()
shell> mysqlsh root@localhost:6446
mysql-js> cluster = dba.getCluster()
mysql-js> cluster.status()
33
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Оболочка: Проверить Состояние
mysql-js> cluster.status()
{
"clusterName": "mylabcluster",
"defaultReplicaSet": {
"name": "default",
"status": "OK",
"statusText": "Cluster is ONLINE and can tolerate up to ONE failure.",
"topology": {
"hanode1:3306": {
"address": "hanode1:3306",
"mode": "R/W",
"readReplicas": {},
"role": "HA",
"status": "ONLINE"
},
… }
34
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Монитор
• Родительская целостная поддержка репликации групп / InnoDB кластер
– Топология
– Подробные метрики и графики
– Рекомендации по
лучшей практике
• Мониторинг
MySQL-маршрутизаторов
35
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Повестка дня
36
Введение в кластере InnoDB
Компоненты
Настройка, мониторинг и управление
Что дальше?
1
2
3
4
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Следующие шаги
Узнать больше
• https://www.mysql.com/products/enterprise/high_availability.html
• https://dev.mysql.com/doc/mysql-innodb-cluster/en/
• Аутентичная учебная программа MySQL:
http://oracle.com/education/mysql
Попробовать
• 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 37
MySQL InnoDB Cluster

More Related Content

What's hot

Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Ontico
 
Демо установки OpenStack с помощью devstack
Демо установки OpenStack с помощью devstackДемо установки OpenStack с помощью devstack
Демо установки OpenStack с помощью devstackMirantis
 
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...Anastasia Rostova
 
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)GeeksLab Odessa
 
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...Ontico
 
Что такое OpenStack
Что такое OpenStackЧто такое OpenStack
Что такое OpenStackIlya Alekseyev
 
"Cocaine — облачная платформа Яндекса". Андрей Сибирёв, Яндекс
"Cocaine — облачная платформа Яндекса". Андрей Сибирёв, Яндекс"Cocaine — облачная платформа Яндекса". Андрей Сибирёв, Яндекс
"Cocaine — облачная платформа Яндекса". Андрей Сибирёв, ЯндексYandex
 
Что нового в SQL Server 2014
Что нового в SQL Server 2014Что нового в SQL Server 2014
Что нового в SQL Server 2014Andrey Korshikov
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхSveta Smirnova
 
Hosting for forbes.ru_
Hosting for forbes.ru_Hosting for forbes.ru_
Hosting for forbes.ru_drupalconf
 
Cистема сетевой аналитики для ЦОД Cisco Tetration Analytics
Cистема сетевой аналитики для ЦОД Cisco Tetration AnalyticsCистема сетевой аналитики для ЦОД Cisco Tetration Analytics
Cистема сетевой аналитики для ЦОД Cisco Tetration AnalyticsCisco Russia
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Alexey Bokov
 
Что нужно знать о трёх топовых фичах MySQL
Что нужно знать  о трёх топовых фичах  MySQLЧто нужно знать  о трёх топовых фичах  MySQL
Что нужно знать о трёх топовых фичах MySQLSveta Smirnova
 
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)Ontico
 
Apache Ignite.NET в действии
Apache Ignite.NET в действииApache Ignite.NET в действии
Apache Ignite.NET в действииMikhail Shcherbakov
 
Обзор новых моделей EMC VNX
Обзор новых моделей EMC VNXОбзор новых моделей EMC VNX
Обзор новых моделей EMC VNXКРОК
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Ontico
 

What's hot (18)

Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
 
Демо установки OpenStack с помощью devstack
Демо установки OpenStack с помощью devstackДемо установки OpenStack с помощью devstack
Демо установки OpenStack с помощью devstack
 
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
 
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
 
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
 
Что такое OpenStack
Что такое OpenStackЧто такое OpenStack
Что такое OpenStack
 
"Cocaine — облачная платформа Яндекса". Андрей Сибирёв, Яндекс
"Cocaine — облачная платформа Яндекса". Андрей Сибирёв, Яндекс"Cocaine — облачная платформа Яндекса". Андрей Сибирёв, Яндекс
"Cocaine — облачная платформа Яндекса". Андрей Сибирёв, Яндекс
 
Что нового в SQL Server 2014
Что нового в SQL Server 2014Что нового в SQL Server 2014
Что нового в SQL Server 2014
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 
IPv6
IPv6IPv6
IPv6
 
Hosting for forbes.ru_
Hosting for forbes.ru_Hosting for forbes.ru_
Hosting for forbes.ru_
 
Cистема сетевой аналитики для ЦОД Cisco Tetration Analytics
Cистема сетевой аналитики для ЦОД Cisco Tetration AnalyticsCистема сетевой аналитики для ЦОД Cisco Tetration Analytics
Cистема сетевой аналитики для ЦОД Cisco Tetration Analytics
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
 
Что нужно знать о трёх топовых фичах MySQL
Что нужно знать  о трёх топовых фичах  MySQLЧто нужно знать  о трёх топовых фичах  MySQL
Что нужно знать о трёх топовых фичах MySQL
 
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
 
Apache Ignite.NET в действии
Apache Ignite.NET в действииApache Ignite.NET в действии
Apache Ignite.NET в действии
 
Обзор новых моделей EMC VNX
Обзор новых моделей EMC VNXОбзор новых моделей EMC VNX
Обзор новых моделей EMC VNX
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 

Similar to MySQL InnoDB Cluster

MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise MonitorVittorio Cioe
 
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...Банковское обозрение
 
MySQL - checklist для новичка в Highload
MySQL - checklist для новичка в HighloadMySQL - checklist для новичка в Highload
MySQL - checklist для новичка в HighloadSveta Smirnova
 
MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...
MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...
MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...Ontico
 
Introduction to MySQL Enterprise
Introduction to MySQL EnterpriseIntroduction to MySQL Enterprise
Introduction to MySQL EnterpriseVittorio Cioe
 
Checklistfinal perconaconf
Checklistfinal perconaconfChecklistfinal perconaconf
Checklistfinal perconaconfDeveloperua
 
State of the dolphin
State of the dolphinState of the dolphin
State of the dolphinVittorio Cioe
 
Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)
Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)
Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)Ontico
 
Борис Павлович - Производительность и масштабируемость OpenStack
Борис Павлович - Производительность и масштабируемость OpenStack Борис Павлович - Производительность и масштабируемость OpenStack
Борис Павлович - Производительность и масштабируемость OpenStack Yandex
 
Oracle. Олег Файницкий. "Безопасность - главный приоритет облачных решений Or...
Oracle. Олег Файницкий. "Безопасность - главный приоритет облачных решений Or...Oracle. Олег Файницкий. "Безопасность - главный приоритет облачных решений Or...
Oracle. Олег Файницкий. "Безопасность - главный приоритет облачных решений Or...Expolink
 
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, ЯндексYandex
 
Зачем нужен Flash?
Зачем нужен Flash?Зачем нужен Flash?
Зачем нужен Flash?Cisco Russia
 
Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Andrey Akulov
 
Oracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategyOracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategyAndrey Akulov
 
СISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStackСISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStackMirantis IT Russia
 
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...Expolink
 

Similar to MySQL InnoDB Cluster (20)

MySQL NDB Cluster
MySQL NDB ClusterMySQL NDB Cluster
MySQL NDB Cluster
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
 
MySQL - checklist для новичка в Highload
MySQL - checklist для новичка в HighloadMySQL - checklist для новичка в Highload
MySQL - checklist для новичка в Highload
 
MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...
MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...
MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...
 
Introduction to MySQL Enterprise
Introduction to MySQL EnterpriseIntroduction to MySQL Enterprise
Introduction to MySQL Enterprise
 
Checklistfinal perconaconf
Checklistfinal perconaconfChecklistfinal perconaconf
Checklistfinal perconaconf
 
State of the dolphin
State of the dolphinState of the dolphin
State of the dolphin
 
MySQL 8.0
MySQL 8.0MySQL 8.0
MySQL 8.0
 
MySQL Cloud Service
MySQL Cloud ServiceMySQL Cloud Service
MySQL Cloud Service
 
Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)
Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)
Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)
 
Борис Павлович - Производительность и масштабируемость OpenStack
Борис Павлович - Производительность и масштабируемость OpenStack Борис Павлович - Производительность и масштабируемость OpenStack
Борис Павлович - Производительность и масштабируемость OpenStack
 
Oracle. Олег Файницкий. "Безопасность - главный приоритет облачных решений Or...
Oracle. Олег Файницкий. "Безопасность - главный приоритет облачных решений Or...Oracle. Олег Файницкий. "Безопасность - главный приоритет облачных решений Or...
Oracle. Олег Файницкий. "Безопасность - главный приоритет облачных решений Or...
 
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
 
Breaking logs
Breaking logsBreaking logs
Breaking logs
 
Зачем нужен Flash?
Зачем нужен Flash?Зачем нужен Flash?
Зачем нужен Flash?
 
Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014
 
Oracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategyOracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategy
 
СISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStackСISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStack
 
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
 

MySQL InnoDB Cluster

  • 1. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Введение в класетрe InnoDB Vittorio Cioe MySQL Sr. Sales Consultant vittorio.cioe@oracle.com Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
  • 2. Copyright © 2017, 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 © 2017, Oracle and/or its affiliates. All rights reserved. | Повестка дня 3 Введение в кластере InnoDB Компоненты Настройка, мониторинг и управление Что дальше? 1 2 3 4
  • 4. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Повестка дня 4 Введение в кластере InnoDB Компоненты Настройка, мониторинг и управление Что дальше? 1 2 3 4
  • 5. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Практически все организации требуют, чтобы их наиболее важные системы были высоко доступными 5 %
  • 6. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | InnoDB Cluster 6 Серверы приложений с MySQL Router MySQL Group Replication MySQL Shell Настройка, управление, оркестрование «Высокая доступность становится основной первоклассной функцией MySQL!»
  • 7. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 7 MySQL InnoDB кластер: Видение «Один продукт - MySQL - с встроенными функциями высокой доступности и масштабирования; обеспечивая интегрированное сквозное решение, которое легко использовать».
  • 8. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL InnoDB Cluster: Внутренняя архитектура M M M MySQL соединитель Приложение MySQL Маршрутизатор MySQL соединитель Приложение MySQL Маршрутизатор MySQL Shell В.Д. Репликация групп 8
  • 9. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Повестка дня 9 Введение в кластере InnoDB Компоненты Настройка, мониторинг и управление Что дальше? 1 2 3 4
  • 10. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Репликация групп Натурально распределенные и высокодоступные наборы реплик
  • 11. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Репликация групп: Что это? • Библиотека для Group Replication – Реализация Replicated Database State Machine • MySQL GCS основан на нашей доморощенную реализации Paxos – Обеспечивает практически синхронную репликацию для MySQL 5.7+ • Гарантирует возможную консистенцию – Автоматизирует операции • Обнаружение и решение конфликтов • Обнаружение сбоев, аварийное переключение, восстановление • Управление членством в группах и реконфигурация 11 Серверы приложений с MySQL Router MySQL Group Replication MySQL Shell Настройка, управление, оркестрование
  • 12. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Репликация групп: Что это предоставляет • Высоко доступная распределенная служба базы данных MySQL – Устраняет необходимость ручной обработки отказа сервера – Обеспечивает распределенную отказоустойчивость – Включает обновление Active / Active в любых настройках – Автоматизирует изменение конфигурации (добавление / удаление узлов, сбои, отказы) – Автоматически обнаруживает и обрабатывает конфликты – Обеспечивает гарантии против потери данных 12
  • 13. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Репликация групп: Сценарии использования • Упругая репликация – Среды, для которых требуется очень гибкая инфраструктура репликации, где количество серверов должно расти или сокращаться динамически и с минимальной болью. • Высоко доступный – Репликация - популярный подход для достижения масштабируемости. Пользователи могут использовать репликацию групп MySQL для реализации в федеративной системе. Каждый осколок может отображаться в группу репликации. • Альтернатива репликации Master / Slave – Возможно, что один главный сервер является единым точкой раздора. При определенных обстоятельствах запись в целую группу может оказаться более масштабируемой. 13
  • 14. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Репликация групп: Архитектура Node Types R: Маршрутизаторы трафика / прокси: mysqlrouter, haproxy, sqlproxy M: Узлы mysqld, участвующие в репликации групп 14
  • 15. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Обновление Multi-Master везде! • Любые две транзакции на разных серверах могут записываться в один и тот же кортеж. • Конфликты будут обнаружены и устраненный. 15 M M M M M UPDATE t1 SET a=4 WHERE a=2UPDATE t1 SET a=3 WHERE a=1 Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
  • 16. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Обновление Multi-Master везде! • Любые две транзакции на разных серверах могут записываться в один и тот же кортеж. • Конфликты будут обнаружены и устраненный. – Первый коммиттер выигрывает 16 M M M M M UPDATE t1 SET a=4 WHERE a=2UPDATE t1 SET a=3 WHERE a=1 OKOK Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
  • 17. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Обновление Multi-Master везде! • Любые две транзакции на разных серверах могут записываться в один и тот же кортеж. • Конфликты будут обнаружены и устраненный. – Первый коммиттер выигрывает 17 M M M M M UPDATE t1 SET a=2 WHERE a=1UPDATE t1 SET a=3 WHERE a=1 Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
  • 18. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Обновление Multi-Master везде! • Любые две транзакции на разных серверах могут записываться в один и тот же кортеж. • Конфликты будут обнаружены и устраненный. – Первый коммиттер выигрывает 18 M M M M M UPDATE t1 SET a=2 WHERE a=1UPDATE t1 SET a=3 WHERE a=1 OK Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
  • 19. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Автоматическое распределённый восстановление сервера! • Сервер, который присоединяется к группе, автоматически синхронизируется с другими. 19 M M M M M N ОНЛАЙН ВОССТАНОВЛЕНИЕ Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
  • 20. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Требования (по дизайну) • Требуется подсистема хранения InnoDB. • Первичный ключ требуется для каждой таблицы • Требуется включить глобальные идентификаторы транзакций. • Оптимистичное исполнение: транзакции могут прерываться в COMMIT из-за конфликтов с параллельными транзакциями у других участников. • Нет одновременного DDL • Без режима изоляции транзакций «SERIALIZABLE» • Ограничения на использование внешних ключей 20Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
  • 21. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | [1]: http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/ Режим одиночной первичной • Режим конфигурации, при котором один член действует как записываемый мастер (ПЕРВИЧНЫЙ), а остальные члены действуют как горячий резерв (Вторичный). – Сама группа автоматически координирует, чтобы выяснить, кто является членом, который будет действовать как ПЕРВИЧНЫЙ, через механизм выбора лидеров. • Основная мотивация этого нового режима конфигурации - обеспечить единое мастер-поведение для пользователей репликации групп, ближе к тому, что пользователи привыкли, используя асинхронную репликацию. 21Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
  • 22. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | [1]: http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/ Режим одиночной первичной • Автоматический механизм выборов лидера 22 В В В В П В Первичный Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
  • 23. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | [1]: http://mysqlhighavailability.com/mysql-group-replication-for-mysql-5-7-15/ Режим одиночной первичной • Автоматический механизм выборов лидера 23 В В В П В Первичный Wednesday, September 21, 2016 Oracle Open World 2016 - San Francisco, California, US
  • 24. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL-Маршрутизатор Прозрачная маршрутизация соединений приложений
  • 25. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Router: Роутинг клиентов и высокая доступность • Встроенная поддержка кластеров InnoDB – Понимает топологию репликации групп – Использует схему метаданных, хранящуюся на каждом члене кластера • Cамостоятельно запускается и настраивает маршрутизацию клиента для кластера InnoDB • Позволяет умную маршрутизацию клиентов в кластер InnoDB – Поддерживает многомашинные и одиночные первичные режимы • Основные улучшения – Встроенный хранилище для ключей, для простого и безопасного управления паролями 25 Серверы приложений с MySQL Router MySQL Group Replication MySQL Shell Настройка, управление, оркестрование «MySQL Router 2.1, с новым плагином metadata_cache, обеспечивает прозрачную маршрутизацию клиентских соединений и переход на другой ресурс в кластеры InnoDB!»
  • 26. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL-Оболочка Единый инструмент для разработки, настройки, управления, оркестровки и мониторинга
  • 27. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Оболочка 27 Унифицированный клиент для всех административных и операционных задач Серверы приложений с MySQL Router MySQL Group Replication MySQL Shell Настройка, управление, оркестрование • Многоязычность: JavaScript, Python и SQL – Натуральная склонность к пользованию через скрипты • Поддерживает документальные и реляционные модели • Предоставляет полный набор API для разработки и администрирования «MySQL Shell предоставляет разработчику и DBA единый интуитивно понятный, гибкий и мощный интерфейс для всех задач, связанных с MySQL!»
  • 28. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Оболочка : DBA Admin API • Глобальная переменная 'dba' используется для доступа к MySQL AdminAPI • mysql-js> dba.help() • Выполнение операций DBA • Создание кластеров • Проверка инстанций MySQL • Настройка инстанций MySQL • Получить информации о кластере • Изменение кластеров • и многое другое ... Серверы приложений с MySQL Router MySQL Group Replication MySQL Shell Настройка, управление, оркестрование 28
  • 29. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Повестка дня 29 Введение в кластере InnoDB Компоненты Настройка, мониторинг и управление Что дальше? 1 2 3 4
  • 30. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Оболочка: Настройка инстанций MySQL shell> mysqlsh root@localhost mysql-js> dba.checkInstanceConfiguration(‘localhost:3306’) mysql-js> dba.configureLocalInstance(‘localhost:3306’) shell> mysqlsh root@localhost mysql-js> dba.checkInstanceConfiguration(‘localhost:3306’) mysql-js> dba.configureLocalInstance(‘localhost:3306’) 30
  • 31. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Оболочка: Создание кластера InnoDB mysql-js> cluster = dba.createCluster(‘NewAppCluster') mysql-js> cluster.addInstance('root@hanode1:3306') mysql-js> cluster.addInstance('root@hanode2:3306') mysql-js> cluster.addInstance('root@hanode3:3306') # to persist the config changes on each machine shell> mysqlsh root@localhost mysql-js> dba.configureLocalInstance(‘localhost:3306’) mysql-js> cluster = dba.createCluster(‘NewAppCluster') mysql-js> cluster.addInstance('root@hanode1:3306') mysql-js> cluster.addInstance('root@hanode2:3306') mysql-js> cluster.addInstance('root@hanode3:3306') # to persist the config changes on each machine shell> mysqlsh root@localhost mysql-js> dba.configureLocalInstance(‘localhost:3306’) 31
  • 32. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Оболочка: Добавить MySQL-Маршрутизатор shell> mysqlrouter --bootstrap hanode1:3306 shell> mysqlrouter & shell> mysqlsh root@localhost:6446 shell> mysqlrouter --bootstrap hanode1:3306 shell> mysqlrouter & shell> mysqlsh root@localhost:6446 32
  • 33. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Оболочка: Проверить Состояние shell> mysqlsh root@localhost:6446 mysql-js> cluster = dba.getCluster() mysql-js> cluster.status() shell> mysqlsh root@localhost:6446 mysql-js> cluster = dba.getCluster() mysql-js> cluster.status() 33
  • 34. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Оболочка: Проверить Состояние mysql-js> cluster.status() { "clusterName": "mylabcluster", "defaultReplicaSet": { "name": "default", "status": "OK", "statusText": "Cluster is ONLINE and can tolerate up to ONE failure.", "topology": { "hanode1:3306": { "address": "hanode1:3306", "mode": "R/W", "readReplicas": {}, "role": "HA", "status": "ONLINE" }, … } 34
  • 35. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Монитор • Родительская целостная поддержка репликации групп / InnoDB кластер – Топология – Подробные метрики и графики – Рекомендации по лучшей практике • Мониторинг MySQL-маршрутизаторов 35
  • 36. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Повестка дня 36 Введение в кластере InnoDB Компоненты Настройка, мониторинг и управление Что дальше? 1 2 3 4
  • 37. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Следующие шаги Узнать больше • https://www.mysql.com/products/enterprise/high_availability.html • https://dev.mysql.com/doc/mysql-innodb-cluster/en/ • Аутентичная учебная программа MySQL: http://oracle.com/education/mysql Попробовать • 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 37