2. В программе
1. Мифы о синхронной репликации.
2. Какая репликация «достаточно» синхронна?
3. Синхронный Multi-Master как способ
географически приблизить сервер к клиенту.
4. Тесты производительности на расстоянии
6000 км.
2
4. Что такое синхронная репликация?
Aсинхронная репликация:
Клиент Master Slave
COMMIT
COMMIT
OK
Опасность
! потери данных
репликация
5. Что такое синхронная репликация?
Синхронная репликация:
Клиент Master Slave
COMMIT Дополнительная
репликация
задержка
подтверждение
COMMIT
OK
6. Поиск в Google: “synchronous replication”
1.RiskyThinking: неприменима в глобальных
сетях.
2.TechTarget: работает только до 300 км
3.TechTarget: правда о синхронной
репликации: асинхронная репликация
защищает данные лучше синхронной!
4. Axxana: “требует дорогого
высокопроизводительного
a) оборудования,
b) программного обеспечения
c) линий связи” 6
13. Преимущества синхронной репликации
Итак, синхронная репликация
предотвращает потерю данных при сбое
главного сервера.
(так себе новость)
Это всё?
13
15. Доступ к данным в глобальном
масштабе
Глобальные
Локальные данные Локальные
клиенты клиенты
Региональные Региональные
данные данные
→ отказ от глобального доступа
15
16. Доступ к данным в глобальном
масштабе
Географическое разделение данных не всегда
желательно или возможно
→ доступ к центральной базе.
16
18. Синхронный Multi-Master
Aсинхронный multi-master обнаруживает
конфликты слишком поздно.
→ требуется разделение данных:
Клиенты Клиенты
Master → A B ← Master
Slave → B Асинхронная A ← Slave
репликация
18
19. Синхронный Multi-Master
Синхронный multi-master обнаруживает и
разрешает конфликты до коммита транзакции.
→ разделения данных не требуется!
Клиенты Клиенты
общая общая
Master → база база ← Master
Синхронная
репликация
19
30. Как это работает?
Синхронизация client↔server гораздо “тяжелее”, чем
master↔slave
Чтение, запись,
Клиент Master Slave
прочие команды
только
запись
30
31. Как это работает?
Синхронизация client↔server гораздо “тяжелее”, чем
master↔slave
→ сервер надо “придвинуть” как можно ближе к клиенту
Чтение,
Клиент Запись, Master Slave
проч.
только
запись
31
32. Как бороться с задержкой синхронизации?
– Так же, как и с любыми другими задержками:
А. – минимизировать эффект путём использования более
длинных транзакций – чем длиннее транзакция, тем реже
происходит синхронизация.
Б. – использовать большее количество одновременных
сессий – пока одна сессия ждёт синхронизации, другая
может использовать свободные ресурсы сервера.
32
33. Программное обеспечение
Тесты были проведены с использованием
MySQL 5.5.20, wsrep patch 23.4 & Galera 2.0
Download:
http://www.codership.com/downloads/download-mysqlgalera
33