How people build sofuware
!
GitHub's online schema migrations for MySQL
Tom Krouper, Shlomi Noach GitHub
1
!
Illustrated with ghosts
! GitHub's online schema migrations for MySQL Tom Krouper, Shlomi - - PowerPoint PPT Presentation
! GitHub's online schema migrations for MySQL Tom Krouper, Shlomi Noach GitHub Illustrated with ghosts ! How people build so fu ware 1 GitHub ! The worlds largest Octocat T-shirt and stickers store And water bo tu les And
How people build sofuware
!
Tom Krouper, Shlomi Noach GitHub
1
Illustrated with ghosts
How people build sofuware
!
2
!
How people build sofuware
!
3
!
How people build sofuware
!
4
!
How people build sofuware
!
5
!
How people build sofuware
!
6
!
How people build sofuware
!
7
!
performance degraded
How people build sofuware
! !
8
!
ghost table
insert delete update insert delete update
How people build sofuware
! !
9
!
ghost table
insert delete update inserts
changelog table
How people build sofuware
!
10
!
How people build sofuware
!
11
!
to meet refactored table structure
How people build sofuware
! !
12
!
ghost table
insert delete update no triggers
binary log
How people build sofuware
!
13
!
master replica
How people build sofuware
!
14
!
How people build sofuware
!
15
!
master replica binary log
table ghost table gh-ost migration:
Preferred setup:
expects them on replica " "
How people build sofuware
!
16
!
How people build sofuware
!
What makes gh-ost, a newcomer tool, trusted with
As trusted as - or more trusted than - existing solution?
17
How people build sofuware
!
18
!
How people build sofuware
!
19
!
production replicas testing replicas master
How people build sofuware
!
20
!
How people build sofuware
!
21
!
completion time, so they can guarantee to be around
How people build sofuware
!
22
!
stop-replication, success, failure
How people build sofuware
!
23
!
How people build sofuware
!
24
!
How people build sofuware
!
25
!
no migration migration updated max-lag-millis=200 migration begins max-lag-millis=500
CEST tz
How people build sofuware
!
26
!
How people build sofuware
!
27
!
How people build sofuware
!
28
!
How people build sofuware
!
We want to make gh-ost robust We want it to be widely adopted We have a few ideas on where it can go
29
How people build sofuware
! !
30
!
ghost table
insert delete update binary log row copy "
How people build sofuware
! !
31
!
ghost table
insert delete update
binary log read rows no data flow between tables write events, write rows
How people build sofuware
!
32
!
insert delete update
binary log write events, write rows
read rows
How people build sofuware
! !
33
!
insert delete update
binary log
ghost table
write events, write rows
read rows
How people build sofuware
!
34
!
insert delete update
ghost table
How people build sofuware
!
35
!
How people build sofuware
!
How gh-ost is developed and what we envision
36
How people build sofuware
!
37
!
How people build sofuware
!
Best read the docs.
38
How people build sofuware
!
39
!
gh-ost
[continued next slide]
How people build sofuware
!
40
!
[continued]
unix_timestamp(ts) from meta.heartbeat order by ts desc limit 1"
[--execute]
How people build sofuware
!
Questions?
41
github.com/tomkrouper @CaptainEyesight github.com/shlomi-noach @ShlomiNoach /cc github.com/ggunson @shebang_the_cat github.com/jonahberquist @hashtagjonah