server modeling with mysql
DESCRIPTION
TRANSCRIPT
Server Modeling with Mysql
Never Ending
Problem
Scalability Consistency
Scalability
Problem Client Group
Web Server Web Server
Data Layer
Easy Problem Client Group
Web Server Web Server
Data Layer
bottleneck
Solution Client Group
Web Server Web Server
Data Layer
Scale up Scale out
Just Add Server
Web Server Web Server
Hard Problem Client Group
Web Server Web Server
Data Layer
bottleneck
Incorrect Solution Client Group
Web Server Web Server
Data Layer
Web Server Web Server
Bottleneck Harder!
Scale up - Solution Client Group
Web Server Web Server
Data Layer
Need Money
Scale Out - Solution Client Group
Web Server Web Server
Data Layer Data Layer
Partitioning
How to Find Bottleneck
Cpu load Iowait Log
netstat
Test Test Test Test
Consistency
Master-Slave
One Thing
Master DB
Slave Slave Slave
Need 4 Servers for disater
Master DB
Slave Slave Slave
Need 4 Servers for diaster
Fail Service Service
Master DB
Slave Slave Slave
Need 4 Servers for diaster
New
Copy
Service Dump
Master DB
Slave Slave Slave
Need 4 Servers for disater
Many Person Knows
This Model
1 Master N Slaves
Master DB
Slave
Many Read, Small Write, and No Consistency Write
Read Read
Async Replication
Master DB
Slave
Many Read, Small Write, and No Consistency Write ‘Data’
Read’Data’
Before Replication
Read Past Data
Master DB
Slave
Many Read, Small Write, and No Consistency Write
Read Read
How to Support Consistency?
Distribution Transaction Processing
2 Phase Commit
Master DB
Slave
Prepare Phase Write
Write
Master DB
Slave
Prepare Write
Write
Master DB
Slave
Commit Commit
Commit
Semi-Sync With Mysql
Master DB
Slave
Semi-Sync: Send ACK after sending log Write
Async Replication Ack
OK
Mysql Cluster
Old Version < 7.1 Just Use In-Memory
Over 7.1 Use In-Memory Index
And Disk Data
Thank you!