34
Синхронная репликация БД: какая от неё польза? Алексей Юрченко

Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

  • Upload
    ontico

  • View
    2.295

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Синхронная репликация БД:какая от неё польза?

Алексей Юрченко

Page 2: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

2

В программе

1. Мифы о синхронной репликации.

2. Какая репликация «достаточно» синхронна?

3. Синхронный Multi-Master как способ географически приблизить сервер к клиенту.

4. Тесты производительности на расстоянии 6000 км.

Page 3: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Мифы о синхронной репликации.

Page 4: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Что такое синхронная репликация?

COMMIT

репликация

OK

Клиент Master Slave

CO

MM

IT

!Опасностьпотери данных

Aсинхронная репликация:

Page 5: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Что такое синхронная репликация?

COMMITрепликация

подтверждение

OK

Клиент Master Slave

CO

MM

IT

Синхронная репликация:

Дополнительнаязадержка

Page 6: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

6

Поиск в Google: “synchronous replication”1.RiskyThinking: неприменима в глобальных сетях.

2.TechTarget: работает только до 300 км

3.TechTarget: правда о синхронной репликации: асинхронная репликация защищает данные лучше синхронной!

4. Axxana: “требует дорогого высокопроизводительного

a) оборудования,

b) программного обеспечения

c) линий связи”

Page 7: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Что значит “синхронная”?

Page 8: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

8

Синхронная или полу-синхронная?

Всё сводится к следующему вопросу:

Останавливаем ли мы работу мастера в случае сбоя на слэйве?

Page 9: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

9

Синхронная или полу-синхронная?

Всё сводится к следующему вопросу:

Останавливаем ли мы работу мастера в случае сбоя на слэйве?

- Конечно нет.

Page 10: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

10

Синхронная или полу-синхронная?

Вывод:

Полу-синхронная репликация достаточно “синхронна”!

Page 11: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

11

Синхронная или полу-синхронная?

Следствие 1:

Синхронная репликация настолько же дорогая и медленная, как копирование

данных по сети.

Page 12: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

12

Синхронная или полу-синхронная?

Следствие 2:

Синхронная репликация практически настолько же требовательна к

ресурсам, как и асинхронная.

Page 13: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

13

Преимущества синхронной репликации

Итак, синхронная репликация предотвращает потерю данных при сбое

главного сервера.

(так себе новость)

Это всё?

Page 14: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Глобальный доступ к центральной базе данных.

Page 15: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

15

Доступ к данным в глобальном масштабе

→ отказ от глобального доступа

Глобальныеданные

Региональныеданные

Региональныеданные

Локальныеклиенты

Локальныеклиенты

Page 16: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

16

Доступ к данным в глобальном масштабе

Географическое разделение данных не всегда желательно или возможно

→ доступ к центральной базе.

Page 17: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Synchronous Multi-Master

Page 18: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

18

Синхронный Multi-Master

Aсинхронный multi-master обнаруживает конфликты слишком поздно.→ требуется разделение данных:

BA

AB

Клиенты Клиенты

← Master← Slave

Master →Slave → Асинхронная

репликация

Page 19: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

19

Синхронный Multi-Master

Синхронный multi-master обнаруживает и разрешает конфликты до коммита транзакции.→ разделения данных не требуется!

общаябаза

общаябаза

Клиенты Клиенты

Синхроннаярепликация

← MasterMaster →

Page 20: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Тесты производительности

Page 21: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

1. Централизованный доступ:

21

eu-westus-east

Тесты: конфигурация

m1.large

Клиент Клиент

Virginia, US Ireland, EU~6000 км, время отклика ~90 мс

Page 22: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

2. Глобальная синхронизация:

22

eu-westus-east

Тесты: конфигурация

m1.large m1.large

Клиент Клиент

Virginia, US Ireland, EU~6000 км, время отклика ~90 мс

Page 23: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

23

Тесты: конфигурация

Нагрузка: Sysbench OLTP 10M rows

Метрики: среднее и 95% время исполнения,общая производительность.

Умеренная нагрузка: 8 клиентов

Высокая нагрузка: 64 клиента

Page 24: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Умеренная нагрузка - средние задержкиКлиент Centralized Replicated эффект

us-east 28.03 119,80 ~4.3x

eu-west 1953.89 122.92 ~0.06x

Page 25: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Высокая нагрузка - 95% задержкиКлиент Centralized Replicated эффект

us-east 59.32 150.66 ~2.5x

eu-west 2071.49 157.11 ~0.08x

Page 26: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Высокая нагрузка - средние задержкиКлиент Centralized Replicated эффект

us-east 213.11 270.00 ~1.3x

eu-west 2039.16 264.95 ~0.13x

Page 27: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Высокая нагрузка - 95% задержкиКлиент Centralized Replicated эффект

us-east 387.16 416.24 ~1.07x

eu-west 2209.19 421.76 ~0.19x

Page 28: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Клиент Centralized Replicated Эффект

us-east 300.10 236.89~1.5x

eu-west 31.07 241.49

Высокая нагрузка - общая производительность

Page 29: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Обсуждение

Page 30: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

30

Как это работает?

Master SlaveКлиентЧтение, запись,

прочие команды

толькозапись

Синхронизация client↔server гораздо “тяжелее”, чемmaster↔slave

Page 31: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

31

Как это работает?

Master SlaveКлиентЧтение,Запись,

проч.

толькозапись

Синхронизация client↔server гораздо “тяжелее”, чемmaster↔slave→ сервер надо “придвинуть” как можно ближе к клиенту

Page 32: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

32

Как бороться с задержкой синхронизации?

– Так же, как и с любыми другими задержками:

А. – минимизировать эффект путём использования более длинных транзакций – чем длиннее транзакция, тем реже происходит синхронизация.

Б. – использовать большее количество одновременных сессий – пока одна сессия ждёт синхронизации, другая может использовать свободные ресурсы сервера.

Page 33: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

33

Программное обеспечение

Тесты были проведены с использованием

MySQL 5.5.20, wsrep patch 23.4 & Galera 2.0

Download:

http://www.codership.com/downloads/download-mysqlgalera

Page 34: Синхронная репликацтя БД: какая от неё польза? (Алексей Юрченко)

Вопросы?

Спасибо за внимание!

Happy Clustering :-)