Preview:
Citation preview
- 1. MySQL Fabric 2015.03 MySQL Power Group
- 2. MySQL Fabric MySQL Fabric 2 / 14 x86 H/W (scale up) x86 H/W
HA + Sharding () MySQL Fabric - Master/Slave Failover - -
- 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. 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. 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. 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. 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. 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. 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. 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. .