SlideShare a Scribd company logo
Percona XtraDB Cluster,
Galera под капотом
Николай Ихалайнен
В этом докладе
•
High Availability
•
Replication
•
Cluster
Что такое высокая
доступность
•
Возможность всегда использовать сервис со стороны
приложения
Доступность через
избыточность
Удвоение ресурсов
Востановление после сбоя
Вероятность сбоя
●
Один сервер: P ●
Два сервера: P/2
●
X серверов: P/X
Вероятность сбоя
1 2 3 4 5 6 7 8 9 10
Probability of failure
N of servers
Probability of failure
Просто?
Не в случае баз данных
База данных
Избыточность?
Доступность БД - проблема
●
Сервис ●
Данные
Репликация
MySQL Replication
If your HA is based on MySQL
Replication –
You are doing it wrong
Что не так с репликацией
MySQL
«a»
Что не так с репликацией
MySQL
«a» - ассинхронная
Что не так с репликацией
MySQL
«async» vs «sync»
Асинхронная
Асинхронная
Синхронная
А не изобрели ли мы DRBD?
DRBD
Кластеризация
Percona XtraDB Cluster
Free and Open Source
Percona XtraDB Cluster
Виртуально синхронная
http://en.wikipedia.org/wiki/Virtual_synchrony
Виртуально синхронная
● Синхронная репликация ● Мастер-Мастер
репликация
● Согласованность
данных
● Параллельное применение
на slave
● Автоматическая подготовка
узла
Multi-master: MySQL
Multi-master: XtraDB Cluster
Параллельный slave: XtraDB Cluster
Параллельный slave: XtraDB Cluster
Параллельный slave: MySQL
Параллельный slave: XtraDB Cluster
Согласованность данных: XtraDB Cluster
Подготовка узла: XtraDB Cluster
Теорема CAP
http://ru.wikipedia.org/wiki/Теорема_CAP
Выбирайте любые ДВЕ
●
Согласованность
данных
●
Доступность
●
Устойчивость к разделению
Сбой сети
Репликация MySQL
Доступ ко всем узлам - ДА
Согласованность
данных - НЕТ
Репликация Percona XtraDB Cluster
Доступ ко всем узлам -
НЕТ
Согласованность
данных - ДА
3 узла — минимально
рекомендуемая
конфигурация
Split brain
Какой узел выбрать ?
Split brain
Всё ещё можно использовать
Но это на ваш страх и риск
Выбор
MySQL Replication:
Доступ ко всем
узлам
XtraDB Cluster:
Согласованность
данных
MySQL
replication
based
Flipper
PRM
MMM
MHA
Percona XtraDB Cluster:
детали
Percona Xtradb Cluster● Galera library
● WSREP patches● Percona Server
Percona XtraDB cluster
•
Партнёрство Codership и Percona
•
Полная совместимость с вашим кодом
•
Минимальные сложности миграции
•
Возможность вернуться назад
Лучше не бывает?
Ограничения
Полностью подерживается только InnoDB
MyISAM — ограниченная поддежка
Оптимистические блокировки на других
серверах
http://en.wikipedia.org/wiki/Optimistic_concurrency_control
Традиционные блокировки
Оптимистические блокировки
Запись ограничена самым
медленным узлом
Скорость записи
Для много пишущих приложений может быть
лимит размера данных на узел
Не физический, а логический
Присоединение. Шаг 1
Присоединение. Шаг 2
Присоединение. Шаг 3
Это програмное +
аппаратное решение
InnoDB: скорость записи
InnoDB: скорость + ACID
Скорость кластера
Сеть ● 10 GigE
● Infiniband
● SSD
● PCI-e Flash
Хранилище данных
Процесс присоединения
State Transfer
Full data SST ● Новый узел● Узел долго был
отключен
● Узел недавно присоединилсяIncremental
IST
Mysqldump
Маленьк
ие БД
Rsync
Донор
отключен
для
копирования
быстрее
XtraBackup
Донор
отключен на
короткое
время
медленнее
Snapshot State Transfer
Incremental State Transfer
Узел был в
кластере
Отключен для
обслуживания
Сбой узла
Масштабируемость
Масштабируемость похожа на доступность
XtraDB Cluster: чтения легко масштабируются
XtraDB Cluster: с записью — сложнее
N серверов масштабируются в :
50/50 100% запись
● 1 или const● N/2
100% чтение
● N
FAQ
FAQ
●
Что случится если узел временно отключится ?
●
Как обрабатывается ALTER table
●
Что будет если обновить 1000000 строк ?
●
Покажите значения задержек и пропускной способности
●
Как подключить узел к кластеру ? Просто покажите пример
●
Как кластер решает, какие узлы оставить, а какие выкинуть
из кластера?
FAQ
●
Могу ли я сделать выбранный узел донором?
●
Балансировка нагрузки ?
●
XtraBackup SST – блокировка на короткий период
●
Как обрабатывается auto_increment?
●
Как используют XtraDB Cluster ?
Насколько XtraDB Cluster быстрый?
Достаточно быстр
Можно ли реплицировать XtraDB Cluster в
MySQL репликацией?
Да
Percona XtraDB Cluster
Async MySQL Replication
Можно ли поставить на «боевые» сервера?
gutefrage.net
№ 3 Web сайт Германии
http://www.percona.com/about-us/pressreleases/gutefra
genet-standardizes-percona-xtradb-cluster
95% на чтение
А если сравнить с MySQL Cluster?
Он совсем другой
Просто
мигриров
ать
Просто
использо
вать
Cloud/
EC2
Менять
приложе
ние
Масшт.
записи
99.999%
XtraDB
Cluster   
Mysql
Cluster   
Авторы
Патчи WSREP и библиотека Galera разработаны
Codership Oy
Спасибо!
Вопросы?
Вы можете попробовать Percona XtraDB Cluster
сегодня!

More Related Content

Nikolay