11
MySQL Fabric 운영 유의사항 2015.03 MySQL Power Group 전세웅

MySQL_Fabric_운영시유의사항

Embed Size (px)

Citation preview

  1. 1. MySQL Fabric 2015.03 MySQL Power Group
  2. 2. MySQL Fabric MySQL Fabric 2 / 14 x86 H/W (scale up) x86 H/W HA + Sharding () MySQL Fabric - Master/Slave Failover - -
  3. 3. MySQL Fabric MySQL Fabric 3 / 14 Master Master Slave Slave Slave Slave Master Slave HA Group ID : SHARD1 HA Group ID : SHARD2 HA Group ID : GLOBAL Replication MySQL (Query Routing ) MySQL Master/Slave Role MySQL SHARD1 / MODE_READWRITE SHARD2 / MODE_READONLY
  4. 4. MySQL Fabric MySQL Fabric 4 / 14 SPOF (Single Point of Failure) : Fabric (Fabric Controller) , , MySQL cache Shard Maintenance : Shard / (Fabric ) Global HA : Cluster , Fabric Connector : 1.5.3 Python, Java , code Cross-Shard Join Cross-Shard Transaction GTID Replication : CTAS (Create Table Select) Temporary Table (MyISAM) (Update) Join Update/Delete log-slave-updates Disk (Slave Binary Log )
  5. 5. MySQL Fabric MySQL Fabric 5 / 14 1. HA Sharding ? 2. critical ? 3. downtime ? Fabric (1.5.3 ) HA : MHA, MMM Sharding : Spider Storage Engine, In-House HA + Sharding : MySQL Cluster YES YES NO YES NO NO
  6. 6. MySQL Fabric MySQL Fabric 6 / 14 1) Fabric (fabric controller) : Fabric , , angel (VIP Fabric startup, VIP Fabric down) Backing Store Fabric node 1 Backing Store Fabric node 2 VIP Replication SHARD1 SHARD2GLOBAL [protocol.xmlrpc] disable_authentication = no ssl_cert = realm = MySQL Fabric ssl_key = ssl_ca = threads = 5 user = admin address = virtual ip address:32274 password = adminpw [protocol.mysql] disable_authentication = no ssl_cert = ssl_key = ssl_ca = user = admin address = virtual ip address:32275 password =
  7. 7. MySQL Fabric MySQL Fabric 7 / 14 2) Shard MySQL : Shard Shard Shard ( 8~16 Shard) MySQL (sharding move_shard x) 3306 3306 Host A Host B SHARD1 3307 3306 3306 Host C Host D SHARD2 3306 3306 Host A Host B 3306 3306 Host C Host D 3307 3307 3307 SHARD1 SHARD2 SHARD3 SHARD4 3309 3309 3309 3309SHARD7 SHARD8
  8. 8. MySQL Fabric MySQL Fabric 8 / 14 3307 3306 3306 Host A Host B 3306 3306 Host C Host D 3307 3307 3307 SHARD1 SHARD2 SHARD3 SHARD4 3309 3309 3309 3309 SHARD8 Host E Host F 3306 3306 SHARD7 mysqlfabric group add SHARD7 HostE:3306 // HostF:3306 SHARD7 mysqlfabric group promote SHARD7 --slave_id=${HostE:3306s uuid} mysqlfabric server set_status ${HostA:3309s uuid} SPARE mysqlfabric group remove SHARD7 ${HostA:3309s uuid} // HostB:3309 SHARD7
  9. 9. MySQL Fabric MySQL Fabric 9 / 14 3) GLOBAL HA GROUP GLOBAL HA GROUP : Shard(HA Group) Master DB , MySQL (DDL, Grant ) : Shard(HA Group) Global Table GLOBAL HA GROUP : Global Data , GLOBAL HA Group MySQL , : GLOBAL HA Group 1 Fabric GLOBAL HA GROUP H/W : Fabric Control Control Global HA Group H/W Consolidation GLOBAL HA GROUP : MySQL ex) GLOBAL HA Group Backup & Restore Shard
  10. 10. MySQL Fabric MySQL Fabric 10 / 14 Backing Store Fabric node 1 Backing Store Fabric node 2 VIP Replication GLOBAL 3307 3306 3306 Host A Host B 3306 3306 Host C Host D 3307 3307 3307 SHARD1 SHARD2 SHARD3 SHARD4 3309 3309 3309 3309SHARD7 SHARD8
  11. 11. .