Scaling your App with MySQL Replication

1,978 views

Published on

Brief introduction to using MySQL Replication to scale your application

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,978
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide




























  • Scaling your App with MySQL Replication

    1. 1. Scaling with MySQL Replication Simon McCartney simon@mccartney.ie @simonmcc
    2. 2. MySQL • MySQL - the M in the LAMP stack • open source • flexible • multi-user • multi-engine • I’m going to talk primarily about 5.0.50ish
    3. 3. What are you trying to solve? • bottle neck? • read or write? • location • availability?
    4. 4. MySQL Replication • Increase select query capacity • Improve data localilty for multi-site environments • Categorise & Prioritise Queries • Bring unknown weirdness
    5. 5. How? • Queries get • tagged with the origin server-id • added to the bin-log • Slave pulls bin-logs, executes queries • also adds to local bin-log
    6. 6. Master/Slave MySQL MySQL MySQL query replication MySQL MySQL Master Slave Slave Slave Slave Writes Reads App
    7. 7. Master/Master query replication MySQL MySQL Master Master query replication read & write read & write App
    8. 8. Hub & Spoke
    9. 9. I have multiple database servers, now what? • select servers at app level • proxy (MySQL Proxy, Zeus ZXTM) • Round Robin DNS
    10. 10. Gotchas • Replication - running & lag? • binlog retention • don’t replicate certain commands
    11. 11. Tools • live topology diagram (perl, GraphViz) • server weighting (memcached & app/proxy) • scripted reseed you’ll do this more often than you expect also handy for building staging/sandboxes
    12. 12. each node here is You can MySQL get really instance crazy
    13. 13. Pretty Pictures communicate issues quicker
    14. 14. Thank you for listening!

    ×