<Insert Picture Here>
Copyright Oracle 2010
Решения высокой надежности и
производительности для MySQL
Александр Рубин
Prin...
5 девяток
9 9 9 99
35 days 4 days 50 mins 5 mins8 hours
Unmanaged
Replication
Technologies
Clustering
Technologies
Cluster...
Scale-Up vs. Scale-Out
• Более производиельный сервер (Scale-Up)
• Vertical
• Дорогие сервера
• Сложный апгрейд
• Больше с...
Репликация в MySQL
Web/App
Server
Web/App
Server
Writes & Reads
MySQL Master
I/O
Thread
SQL
Thread
Writes
relay
binlog
MyS...
Распределение нагрузки (Scale-Out)
Master Server Slave Server
Writes
Index &
Bin Log
Rotation
Writes
MySQL Replication
Rea...
Отказоустойчивость (Fail Over)
Master Server Slave Server
Writes
Index &
Bin Log
Rotation
Writes
MySQL Replication
Reads
P...
Linux Heartbeat, DRBD & MySQL
= Private IP =
10.10.10.21
Active Server Passive Server
= Private IP =
10.10.10.20
Primary D...
= Private IP =
10.10.10.21
Active Server Passive Server
= Private IP =
10.10.10.20
DRBD
Primary DRBD Secondary DRBD
X
X
Ac...
Кластер (MySQL Cluster)
MySQL
Server
MySQL
Server
Data
Node
Data
Node
Data
Node
Data
Node
NDB
Storage Engine
Management
Se...
Архитектура данных в кластере
• Four Data Nodes
• Two Replicas
• Two Node Groups
8ChinaBeijing8
2NorwayOslo7
4RussiaMoscow...
Отказоустойчивость
MySQL
Server
MySQL
Server
Data
Node
Data
Node
Data
Node
Data
Node
NDB
Storage Engine
Management
Server
...
Решения
• Репликация Master/Slave
• Slaves только для чтения
• Master<->Master
• Репликация типа «кольцо» (ring)
• DRDB HA...
Топология
Master > Slave
Masters > Slave (Multi-Source)
Master < > Master (Multi-Master)
Master > Slaves
Circular (Multi-M...
Решение: Репликация Master/Slave
• Преимущества
– Чтение с любого сервера
– распределение нагрузки
– Простота установки
– ...
Решениe: Master и много Slaves
• Master может иметь много Slaves
• Чтение данных (select) – 4-5 девяток (HA)
• Распределен...
Репликация Master-Master
• Преимущества
• Чтение с любого сервера
• Простота установки
• Отказоустойчивость (осторожно!)
•...
Pattern: Ring Replication
• Недостатки
– Легко ломается – сложно востановить данные
– Запись на Master 4 придет после запи...
Решение: DRBD и Slaves для
чтения
• Отказоустойчивость для Master
• Чтение с любого Slave
• Slave автоматически пере-подкл...
DRBD и балансировка нагрузки
Географическая отказоустойчивость
Sharding (Шардинг)
Shard A Shard B Shard DShard C
Шардинг с DRBD
The presentation is intended to outline our general
product direction. It is intended for information
purposes only, and m...
Upcoming SlideShare
Loading in...5
×

High Availability Solutions with MySQL

2,080

Published on

MySQL replication
MySQL cluster
DRBD/HeartBeat/MySQL
Shared Disk

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,080
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
41
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

High Availability Solutions with MySQL

  1. 1. <Insert Picture Here> Copyright Oracle 2010 Решения высокой надежности и производительности для MySQL Александр Рубин Principal Consultant
  2. 2. 5 девяток 9 9 9 99 35 days 4 days 50 mins 5 mins8 hours Unmanaged Replication Technologies Clustering Technologies Clustering & Geographical Redundancy software upgrades hardware upgrades maintenance operations software failures network failures power failures disasters Well-Managed hardware failures Small Business ISPs & Mainstream Business Data Centers Banking Medical Telco Military Defense %.
  3. 3. Scale-Up vs. Scale-Out • Более производиельный сервер (Scale-Up) • Vertical • Дорогие сервера • Сложный апгрейд • Больше серверов (Scale-Out) • Horizontal • Обычные сервера (как в Google) • «Просто добавь сервер» Low Cost HighCost
  4. 4. Репликация в MySQL Web/App Server Web/App Server Writes & Reads MySQL Master I/O Thread SQL Thread Writes relay binlog MySQL Slave mysqld data index & binlogs mysqld databinlogReplication
  5. 5. Распределение нагрузки (Scale-Out) Master Server Slave Server Writes Index & Bin Log Rotation Writes MySQL Replication Reads Possible Roles • Fail over server • Used for performing backups • Read/Write load balancing • Additional slaves allow Scale-Out BackupsBackups Writes & Reads Web/App Server Web/App Server
  6. 6. Отказоустойчивость (Fail Over) Master Server Slave Server Writes Index & Bin Log Rotation Writes MySQL Replication Reads Possible Roles • Fail over server • Used for performing backups • Read/Write load balancing • Additional slaves allow Scale-Out BackupsBackups Web/App Server Web/App Server Manual Fail Over X X X Fail Over
  7. 7. Linux Heartbeat, DRBD & MySQL = Private IP = 10.10.10.21 Active Server Passive Server = Private IP = 10.10.10.20 Primary DRBD Secondary DRBD DRBD Linux Heartbeat = Virtual IP = 10.10.10.10 Web/App Server Web/App Server
  8. 8. = Private IP = 10.10.10.21 Active Server Passive Server = Private IP = 10.10.10.20 DRBD Primary DRBD Secondary DRBD X X Active Primary DRBD X Linux Heartbeat = Virtual IP = 10.10.10.10 Web/App Server Web/App Server Linux Heartbeat, DRBD & MySQL
  9. 9. Кластер (MySQL Cluster) MySQL Server MySQL Server Data Node Data Node Data Node Data Node NDB Storage Engine Management Server Management Server NDB APINDB API MySQL Cluster Data Node Data Node Data Node Data Node MySQL Server MySQL Server MySQL Server MySQL Server Management Server Management Server MySQL Server MySQL Server MySQL Server MySQL Server
  10. 10. Архитектура данных в кластере • Four Data Nodes • Two Replicas • Two Node Groups 8ChinaBeijing8 2NorwayOslo7 4RussiaMoscow6 2GreeceAthens5 9JapanTokyo4 -5USANew York City3 2GermanyBerlin2 2DenmarkCopenhagen1 UTCCountryCapitalID 8ChinaBeijing8 2NorwayOslo7 4RussiaMoscow6 2GreeceAthens5 9JapanTokyo4 -5USANew York City3 2GermanyBerlin2 2DenmarkCopenhagen1 UTCCountryCapitalID Partition 1 Partition 2 Partition 3 Partition 4 Data Node Data Node P1-Primary P2-Secondary P1-Secondary P2-Primary Data Node Data Node Node Group 1 Data Node Data Node P3-Primary P4-Secondary P3-Secondary P4-Primary Data Node Data Node Node Group 2
  11. 11. Отказоустойчивость MySQL Server MySQL Server Data Node Data Node Data Node Data Node NDB Storage Engine Management Server Management Server NDB APINDB API MySQL Cluster Data Node Data Node Data Node Data Node MySQL Server MySQL Server MySQL Server MySQL Server Management Server Management Server MySQL Server MySQL Server MySQL Server MySQL ServerXX X X X X
  12. 12. Решения • Репликация Master/Slave • Slaves только для чтения • Master<->Master • Репликация типа «кольцо» (ring) • DRDB HA • DRBD Master и Read Only Slaves • Master to Master Cross Datacenter + DRDB • Шардинг (Sharding) • Шардинг + DRDB + Geo Redundancy
  13. 13. Топология Master > Slave Masters > Slave (Multi-Source) Master < > Master (Multi-Master) Master > Slaves Circular (Multi-Master) Master > Slave > Slaves
  14. 14. Решение: Репликация Master/Slave • Преимущества – Чтение с любого сервера – распределение нагрузки – Простота установки – Отказоустойчивость ~99.9% (3 девятки) • Недостатки: Асинхронная репликация (!) – Slave может не получить изменения вовремя – Записываем, читаем записанное со Slave – Oooops! – Запись – ТОЛЬКО на Master Master Slave Asynchronous MySQL Replication
  15. 15. Решениe: Master и много Slaves • Master может иметь много Slaves • Чтение данных (select) – 4-5 девяток (HA) • Распределение нагрузки – чтение с любого slaves • Увеличилась нагрузка – добавим Slave • Сложные запросы (отчеты) – гоняем на Slave • Backup Master Slave 1 Slave 4 Slave 3Slave 2
  16. 16. Репликация Master-Master • Преимущества • Чтение с любого сервера • Простота установки • Отказоустойчивость (осторожно!) • Надежность на уровне ~99.9% • Недостатки • Нет распределения нагрузки для записи • При отказе – потеря транзакций! Master 1 Master 2
  17. 17. Pattern: Ring Replication • Недостатки – Легко ломается – сложно востановить данные – Запись на Master 4 придет после записи на Master 3 • Не рекомендуется Master 1 Master 3 Master 2 Master 4 Asynchronous MySQL Replication
  18. 18. Решение: DRBD и Slaves для чтения • Отказоустойчивость для Master • Чтение с любого Slave • Slave автоматически пере-подключаются после сбоя мастера Hot Primary Warm SecondarySynchronous DRBD Replication Master Pair
  19. 19. DRBD и балансировка нагрузки
  20. 20. Географическая отказоустойчивость
  21. 21. Sharding (Шардинг) Shard A Shard B Shard DShard C
  22. 22. Шардинг с DRBD
  23. 23. The presentation is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×