Синхронная репликацтя БД: какая от неё польза? (Алексей...
Transcript of Синхронная репликацтя БД: какая от неё польза? (Алексей...
![Page 1: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/1.jpg)
Синхронная репликация БД:какая от неё польза?
Алексей Юрченко
![Page 2: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/2.jpg)
2
В программе
1. Мифы о синхронной репликации.
2. Какая репликация «достаточно» синхронна?
3. Синхронный Multi-Master как способ географически приблизить сервер к клиенту.
4. Тесты производительности на расстоянии 6000 км.
![Page 3: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/3.jpg)
Мифы о синхронной репликации.
![Page 4: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/4.jpg)
Что такое синхронная репликация?
COMMIT
репликация
OK
Клиент Master Slave
CO
MM
IT
!Опасностьпотери данных
Aсинхронная репликация:
![Page 5: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/5.jpg)
Что такое синхронная репликация?
COMMITрепликация
подтверждение
OK
Клиент Master Slave
CO
MM
IT
Синхронная репликация:
Дополнительнаязадержка
![Page 6: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/6.jpg)
6
Поиск в Google: “synchronous replication”1.RiskyThinking: неприменима в глобальных сетях.
2.TechTarget: работает только до 300 км
3.TechTarget: правда о синхронной репликации: асинхронная репликация защищает данные лучше синхронной!
4. Axxana: “требует дорогого высокопроизводительного
a) оборудования,
b) программного обеспечения
c) линий связи”
![Page 7: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/7.jpg)
Что значит “синхронная”?
![Page 8: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/8.jpg)
8
Синхронная или полу-синхронная?
Всё сводится к следующему вопросу:
Останавливаем ли мы работу мастера в случае сбоя на слэйве?
![Page 9: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/9.jpg)
9
Синхронная или полу-синхронная?
Всё сводится к следующему вопросу:
Останавливаем ли мы работу мастера в случае сбоя на слэйве?
- Конечно нет.
![Page 10: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/10.jpg)
10
Синхронная или полу-синхронная?
Вывод:
Полу-синхронная репликация достаточно “синхронна”!
![Page 11: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/11.jpg)
11
Синхронная или полу-синхронная?
Следствие 1:
Синхронная репликация настолько же дорогая и медленная, как копирование
данных по сети.
![Page 12: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/12.jpg)
12
Синхронная или полу-синхронная?
Следствие 2:
Синхронная репликация практически настолько же требовательна к
ресурсам, как и асинхронная.
![Page 13: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/13.jpg)
13
Преимущества синхронной репликации
Итак, синхронная репликация предотвращает потерю данных при сбое
главного сервера.
(так себе новость)
Это всё?
![Page 14: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/14.jpg)
Глобальный доступ к центральной базе данных.
![Page 15: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/15.jpg)
15
Доступ к данным в глобальном масштабе
→ отказ от глобального доступа
Глобальныеданные
Региональныеданные
Региональныеданные
Локальныеклиенты
Локальныеклиенты
![Page 16: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/16.jpg)
16
Доступ к данным в глобальном масштабе
Географическое разделение данных не всегда желательно или возможно
→ доступ к центральной базе.
![Page 17: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/17.jpg)
Synchronous Multi-Master
![Page 18: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/18.jpg)
18
Синхронный Multi-Master
Aсинхронный multi-master обнаруживает конфликты слишком поздно.→ требуется разделение данных:
BA
AB
Клиенты Клиенты
← Master← Slave
Master →Slave → Асинхронная
репликация
![Page 19: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/19.jpg)
19
Синхронный Multi-Master
Синхронный multi-master обнаруживает и разрешает конфликты до коммита транзакции.→ разделения данных не требуется!
общаябаза
общаябаза
Клиенты Клиенты
Синхроннаярепликация
← MasterMaster →
![Page 20: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/20.jpg)
Тесты производительности
![Page 21: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/21.jpg)
1. Централизованный доступ:
21
eu-westus-east
Тесты: конфигурация
m1.large
Клиент Клиент
Virginia, US Ireland, EU~6000 км, время отклика ~90 мс
![Page 22: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/22.jpg)
2. Глобальная синхронизация:
22
eu-westus-east
Тесты: конфигурация
m1.large m1.large
Клиент Клиент
Virginia, US Ireland, EU~6000 км, время отклика ~90 мс
![Page 23: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/23.jpg)
23
Тесты: конфигурация
Нагрузка: Sysbench OLTP 10M rows
Метрики: среднее и 95% время исполнения,общая производительность.
Умеренная нагрузка: 8 клиентов
Высокая нагрузка: 64 клиента
![Page 24: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/24.jpg)
Умеренная нагрузка - средние задержкиКлиент Centralized Replicated эффект
us-east 28.03 119,80 ~4.3x
eu-west 1953.89 122.92 ~0.06x
![Page 25: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/25.jpg)
Высокая нагрузка - 95% задержкиКлиент Centralized Replicated эффект
us-east 59.32 150.66 ~2.5x
eu-west 2071.49 157.11 ~0.08x
![Page 26: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/26.jpg)
Высокая нагрузка - средние задержкиКлиент Centralized Replicated эффект
us-east 213.11 270.00 ~1.3x
eu-west 2039.16 264.95 ~0.13x
![Page 27: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/27.jpg)
Высокая нагрузка - 95% задержкиКлиент Centralized Replicated эффект
us-east 387.16 416.24 ~1.07x
eu-west 2209.19 421.76 ~0.19x
![Page 28: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/28.jpg)
Клиент Centralized Replicated Эффект
us-east 300.10 236.89~1.5x
eu-west 31.07 241.49
Высокая нагрузка - общая производительность
![Page 29: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/29.jpg)
Обсуждение
![Page 30: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/30.jpg)
30
Как это работает?
Master SlaveКлиентЧтение, запись,
прочие команды
толькозапись
Синхронизация client↔server гораздо “тяжелее”, чемmaster↔slave
![Page 31: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/31.jpg)
31
Как это работает?
Master SlaveКлиентЧтение,Запись,
проч.
толькозапись
Синхронизация client↔server гораздо “тяжелее”, чемmaster↔slave→ сервер надо “придвинуть” как можно ближе к клиенту
![Page 32: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/32.jpg)
32
Как бороться с задержкой синхронизации?
– Так же, как и с любыми другими задержками:
А. – минимизировать эффект путём использования более длинных транзакций – чем длиннее транзакция, тем реже происходит синхронизация.
Б. – использовать большее количество одновременных сессий – пока одна сессия ждёт синхронизации, другая может использовать свободные ресурсы сервера.
![Page 33: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/33.jpg)
33
Программное обеспечение
Тесты были проведены с использованием
MySQL 5.5.20, wsrep patch 23.4 & Galera 2.0
Download:
http://www.codership.com/downloads/download-mysqlgalera
![Page 34: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)](https://reader031.fdocument.pub/reader031/viewer/2022020218/55a97d621a28ab8a668b46b2/html5/thumbnails/34.jpg)
Вопросы?
Спасибо за внимание!
Happy Clustering :-)