Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Синхронная репликация БД:   какая от неё польза?      Алексей Юрченко
В программе1.   Мифы о синхронной репликации.2.   Какая репликация «достаточно» синхронна?3.   Синхронный Multi-Master как...
Мифы о синхронной репликации.
Что такое синхронная репликация?Aсинхронная репликация:   Клиент            Master                Slave            COMMIT ...
Что такое синхронная репликация?Синхронная репликация:   Клиент            Master                     Slave            COM...
Поиск в Google: “synchronous replication”                1.RiskyThinking: неприменима в глобальных                сетях.  ...
Что значит “синхронная”?
Синхронная или полу-синхронная?Всё сводится к следующему вопросу:Останавливаем ли мы работу мастера      в случае сбоя на ...
Синхронная или полу-синхронная?Всё сводится к следующему вопросу:Останавливаем ли мы работу мастера      в случае сбоя на ...
Синхронная или полу-синхронная?Вывод:     Полу-синхронная репликация      достаточно “синхронна”!                         ...
Синхронная или полу-синхронная?Следствие 1: Синхронная репликация настолько же дорогая и медленная, как копирование       ...
Синхронная или полу-синхронная?Следствие 2: Синхронная репликация практически   настолько же требовательна к     ресурсам,...
Преимущества синхронной репликации    Итак, синхронная репликацияпредотвращает потерю данных при сбое          главного се...
Глобальный доступ к центральной базе              данных.
Доступ к данным в глобальном          масштабе                Глобальные Локальные        данные       Локальные  клиенты ...
Доступ к данным в глобальном           масштабеГеографическое разделение данных не всегда         желательно или возможно ...
Synchronous Multi-Master
Синхронный Multi-MasterAсинхронный multi-master обнаруживаетконфликты слишком поздно.→ требуется разделение данных:       ...
Синхронный Multi-MasterСинхронный multi-master обнаруживает иразрешает конфликты до коммита транзакции.→ разделения данных...
Тесты производительности
Тесты: конфигурация1. Централизованный доступ:   Клиент                                       Клиент  m1.large   us-east  ...
Тесты: конфигурация2. Глобальная синхронизация:   Клиент                                       Клиент  m1.large           ...
Тесты: конфигурацияНагрузка: Sysbench OLTP 10M rowsМетрики: среднее и 95% время исполнения,         общая производительнос...
Умеренная нагрузка - средние задержки       Клиент    Centralized   Replicated   эффект       us-east   28.03         119,...
Высокая нагрузка - 95% задержки    Клиент    Centralized   Replicated   эффект    us-east   59.32         150.66       ~2....
Высокая нагрузка - средние задержки      Клиент    Centralized   Replicated   эффект      us-east   213.11        270.00  ...
Высокая нагрузка - 95% задержки    Клиент    Centralized   Replicated   эффект    us-east   387.16        416.24       ~1....
Высокая нагрузка - общая производительность         Клиент    Centralized   Replicated   Эффект         us-east   300.10  ...
Обсуждение
Как это работает?Синхронизация client↔server гораздо “тяжелее”, чемmaster↔slave               Чтение, запись,  Клиент     ...
Как это работает?Синхронизация client↔server гораздо “тяжелее”, чемmaster↔slave→ сервер надо “придвинуть” как можно ближе ...
Как бороться с задержкой синхронизации?      – Так же, как и с любыми другими задержками: А. – минимизировать эффект путём...
Программное обеспечение        Тесты были проведены с использованием       MySQL 5.5.20, wsrep patch 23.4 & Galera 2.0    ...
Вопросы?Спасибо за внимание! Happy Clustering :-)
Upcoming SlideShare
Loading in …5
×

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

2,656 views

Published on

  • Be the first to comment

  • Be the first to like this

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

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

×