Your SlideShare is downloading. ×
High Availability Solutions with MySQL
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

High Availability Solutions with MySQL

2,008
views

Published on

MySQL replication …

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,008
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
38
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. <Insert Picture Here> Copyright Oracle 2010 Решения высокой надежности и производительности для MySQL Александр Рубин Principal Consultant
  • 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. Scale-Up vs. Scale-Out • Более производиельный сервер (Scale-Up) • Vertical • Дорогие сервера • Сложный апгрейд • Больше серверов (Scale-Out) • Horizontal • Обычные сервера (как в Google) • «Просто добавь сервер» Low Cost HighCost
  • 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. Распределение нагрузки (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. Отказоустойчивость (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. 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. = 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. Кластер (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. Архитектура данных в кластере • 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. Отказоустойчивость 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. Решения • Репликация Master/Slave • Slaves только для чтения • Master<->Master • Репликация типа «кольцо» (ring) • DRDB HA • DRBD Master и Read Only Slaves • Master to Master Cross Datacenter + DRDB • Шардинг (Sharding) • Шардинг + DRDB + Geo Redundancy
  • 13. Топология Master > Slave Masters > Slave (Multi-Source) Master < > Master (Multi-Master) Master > Slaves Circular (Multi-Master) Master > Slave > Slaves
  • 14. Решение: Репликация Master/Slave • Преимущества – Чтение с любого сервера – распределение нагрузки – Простота установки – Отказоустойчивость ~99.9% (3 девятки) • Недостатки: Асинхронная репликация (!) – Slave может не получить изменения вовремя – Записываем, читаем записанное со Slave – Oooops! – Запись – ТОЛЬКО на Master Master Slave Asynchronous MySQL Replication
  • 15. Решениe: Master и много Slaves • Master может иметь много Slaves • Чтение данных (select) – 4-5 девяток (HA) • Распределение нагрузки – чтение с любого slaves • Увеличилась нагрузка – добавим Slave • Сложные запросы (отчеты) – гоняем на Slave • Backup Master Slave 1 Slave 4 Slave 3Slave 2
  • 16. Репликация Master-Master • Преимущества • Чтение с любого сервера • Простота установки • Отказоустойчивость (осторожно!) • Надежность на уровне ~99.9% • Недостатки • Нет распределения нагрузки для записи • При отказе – потеря транзакций! Master 1 Master 2
  • 17. Pattern: Ring Replication • Недостатки – Легко ломается – сложно востановить данные – Запись на Master 4 придет после записи на Master 3 • Не рекомендуется Master 1 Master 3 Master 2 Master 4 Asynchronous MySQL Replication
  • 18. Решение: DRBD и Slaves для чтения • Отказоустойчивость для Master • Чтение с любого Slave • Slave автоматически пере-подключаются после сбоя мастера Hot Primary Warm SecondarySynchronous DRBD Replication Master Pair
  • 19. DRBD и балансировка нагрузки
  • 20. Географическая отказоустойчивость
  • 21. Sharding (Шардинг) Shard A Shard B Shard DShard C
  • 22. Шардинг с DRBD
  • 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.