Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13....

39
Running MySQL 5.6 on Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13

Transcript of Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13....

Page 1: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

Running MySQL 5.6 on Amazon RDS

Ryan Lowe@RoomieGunns

Wednesday, August 28, 13

Page 2: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

INTRODUCTION

Wednesday, August 28, 13

Page 3: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

Overview of AWS

•ec2•Elastic MapReduce•Route 53•VPC•CloudFront•Glacier•S3•DynamoDB•ElastiCache•RDS

•RedShift•Elastic Beanstalk•CloudSearch•Elastic Transcoder•SES•SNS•SQS•SWF•OpsWorks• ...

Wednesday, August 28, 13

Page 4: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

MySQL 5.6

•Optimizer Improvements• InnoDB Improvements• INFORMATION_SCHEMA Enhancements•NoSQL via Memcached•Scalability Improvements•Replication Improvements•PERFORMANCE_SCHEMA Enhancements

Wednesday, August 28, 13

Page 5: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

MySQL 5.6 for Amazon RDS

•Crash Safe Read Replicas• InnoDB Integration with Memcached•Binary Log Access•Online Schema Changes•Full Text Indexes

Wednesday, August 28, 13

Page 6: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS WebUI

Wednesday, August 28, 13

Page 7: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Dashboard

Wednesday, August 28, 13

Page 8: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Databases

Wednesday, August 28, 13

Page 9: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Production

Wednesday, August 28, 13

Page 10: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

99.95% Monthly Up Time SLA

21.56 Minutes

Wednesday, August 28, 13

Page 11: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

99.95% Monthly Up Time SLA

That’s not too bad, you say.But wait. There’s more!

Wednesday, August 28, 13

Page 12: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

99.95% Monthly Up Time SLA

Mandatory 30min maintenance window

Wednesday, August 28, 13

Page 13: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

99.95% Monthly Up Time SLA

21.56min + (4*30min) =141.56min/month =~99.65% uptime

(the fine print will get you every time)

Wednesday, August 28, 13

Page 14: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Details

Wednesday, August 28, 13

Page 15: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Details (2)

Wednesday, August 28, 13

Page 16: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Class Pricing

Wednesday, August 28, 13

Page 17: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Class Pricing (2)

•Micro $438/yr•Small $1,183/yr•Medium $2,411/yr•Large $4,777/yr•XL $9,555/yr•m2.XL $8,284/yr•m2.2XL $16,568/yr•m2.4XL $33,048/yr•Dell R910 512G RAM $19,000

Wednesday, August 28, 13

Page 18: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Class

Wednesday, August 28, 13

Page 19: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Class [Micro]

Not Useful

Wednesday, August 28, 13

Page 20: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Class [Small]

Not Useful

Wednesday, August 28, 13

Page 21: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Class [Medium]

Proof of Concept Testing

Wednesday, August 28, 13

Page 22: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Class [Large]

7.5 GB memory

4 ECUs (2 virtual cores with 2 ECUs each)

64-bit platform

High I/O Capacity

Provisioned IOPS Optimized: 500Mbps

Wednesday, August 28, 13

Page 23: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Class [XL]

15 GB memory

8 ECUs (4 virtual cores with 2 ECUs each)

64-bit platform

High I/O Capacity

Provisioned IOPS Optimized: 1,000Mbps

Wednesday, August 28, 13

Page 24: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Class [m2.XL]

Not Useful (for me)

Wednesday, August 28, 13

Page 25: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Class [m2.2XL]

34 GB memory

13 ECUs (4 virtual cores with 3.25 ECUs each)

64-bit platform

High I/O Capacity

Provisioned IOPS Optimized: 500Mbps

Wednesday, August 28, 13

Page 26: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Class [m2.4XL]

68 GB memory

26 ECUs (8 virtual cores with 3.25 ECUs each)

64-bit platform

High I/O Capacity

Provisioned IOPS Optimized: 1,000Mbps

Wednesday, August 28, 13

Page 27: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Details (Redux)

Wednesday, August 28, 13

Page 28: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

Regions & Availability Zones

Wednesday, August 28, 13

Page 29: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

Regions

•APAC x2 (Tokyo, Singapore, Sydney)•EU x1 (Ireland)•SA x1 (Sao Paulo)•US x3 (Virginia, California, Oregon)

•Each region has multiple AZ• Instance prices vary per region•Hardware varies per region

Wednesday, August 28, 13

Page 30: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Multi-AZ Deployment

•Enhanced Durability• Increased Availability•Easy Administration

Wednesday, August 28, 13

Page 31: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

Story Time

Wednesday, August 28, 13

Page 32: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Instance Details (Redux)

Wednesday, August 28, 13

Page 33: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Additional Config

Wednesday, August 28, 13

Page 34: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Parameter Group

Wednesday, August 28, 13

Page 35: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Additional Config

Wednesday, August 28, 13

Page 36: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

RDS Additional Config

Post-Launch

Wednesday, August 28, 13

Page 37: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

External Replication

•With 5.6 you can RDS->Non-RDS – This was not possible in 5.5 or below

•Still cannot Non-RDS->RDS– Can with Tungsten– Can fake it with binlog streaming

Wednesday, August 28, 13

Page 38: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

Surprises & Gotchas

•No 5.5->5.6 upgrade path (only mysqldump)•Multi-Region is application-specific•No RDS auto-scaling support or spot instances

– Chaos Monkey cannot help you•Backups *can* be invasive•Pricing can be surprising•Monitoring capabilities are lacking•Performance not always reliable

Wednesday, August 28, 13

Page 39: Running MySQL 5.6 on Amazon RDS · Amazon RDS Ryan Lowe @RoomieGunns Wednesday, August 28, 13. INTRODUCTION Wednesday, August 28, 13. Overview of AWS •ec2 •Elastic MapReduce •Route

Questions?

[email protected]

Wednesday, August 28, 13