SlideShare a Scribd company logo
1 of 25
Download to read offline
Laine Campbell, CEO PalominoDB




Running MySQL in AWS
   The next generation in RDBMS
Why Amazon Web Services?

          Infrastructure as a Service

● No more waiting for hardware.

● No more managing hardware.

● No more aged out hardware.
Why Amazon Web Services?

         Elasticity
Why Amazon Web Services?

           Financial Considerations
● Cloud expenses are opex, not capex - fully
  deductible the first year.
● Eliminate hardware
  inventory.
● Reduce costs of
  administrators, facilities,
  network, etc...
Why MySQL?

               A Known Quantity
● Easy to find developers and operators.
● Extensive documentation, community and
  tribal knowledge.
● Well documented knowledge of bugs, with
  multiple vendors supporting, improving and
  operating. (slowing down on Oracle front)
Why MySQL?

                But is it Web Scale?
●   Scaling patterns are well understood.
●   With proper tuning and knowledge, can
    support the vast majority of workloads.
●   Relational data is often the right tool for the
    right workload.
●   Data consistency and recoverability isn't as
    optional as many believe.
MySQL Scaling Patterns

           Need more transactions?

Vertical Scaling
○   Tune your SQL.
○   Manage your configs.
○   Add MOAR RAM
○   Add MOAR DISK
○   Add MOAR CPU
○   Add of all the things.
MySQL Scaling Patterns

             Need more reads?

○ Add Replicas via MySQL Replication
○ Add Cache Tier
○ Tune your ORM
MySQL Scaling Patterns

            Replication Lagging?

○ Functional Partitioning - Break out workloads into
  separate clusters.
○ Split database schema into multiple schemas - use
  parallel replication. (5.6, or Tungsten)
○ Stop abusing MySQL! Some workloads don't belong
  in a relational database! (logs, queues, massive non-
  transactional reads)
MySQL Scaling Patterns
MySQL Scaling Patterns

              Need more writes?

○ Time to shard! Split your data-sets into multiple
  clusters and scale linearly.
Options for Running MySQL

    Amazon Relational Database Service (RDS)

●   Choose your instance size.
●   Choose your major MySQL Version.
●   Choose from a few topology options.
●   Choose your parameter configuration.
●   Choose your region and availability zone.
Your RDS MySQL Master

          Stand-Alone or Multi-AZ
● Stand-Alone:
  ○ If it goes away, you must use backups to recover.
  ○ Less expensive than multi-AZ, good for prototyping.
  ○ With replicas, you can use standard failover/replica
    promotion.
  ○ Storage up to 1 TB. (auto striping over 300 GB for
    higher performance)
  ○ Provisioned IOPs allow for predictable I/O
    performance.
  ○ Choose your region and availability zone.
Multi-AZ Failover

● A Highly Available Master:
  ○ Uses synchronous data replication to keep a failover
    ready.
  ○ Auto-failover.
  ○ Redundancy for less than 2x the cost.

● The Problems:
  ○ Failover happens more often than you might think.
  ○ Failovers are impacting for up to 30 seconds.
  ○ If relaxing binlog flushes, failovers can disrupt your
    replication topology.
  ○ Synchronous replication reduces write capacity.
Multi-AZ Failover

From AWS Blog
MySQL Replicas

● Push Button Replicas
  ○ Rapid deployment of replicas via snapshot.
  ○ Promotion to masters:
    ■ For non-multi AZ failover.
    ■ For standalone dev/test environments.

● The Problems:
  ○   Builds can cause some load issues on your master.
  ○   Only one built at a time.
  ○   All must be identical.
  ○   No complex replication topologies.
RDS Gotchas
● Parameter Groups
  ○ Must change from Default to use dynamic variables.
  ○ Configuration changes become more complex.

● Limited Access
  ○ No root/super-user access.
  ○ No direct management of replication.
  ○ No access to error logs or binlogs.

● Other Concerns
  ○ Minimal visibility to system issues
  ○ No OS access for diagnostics
Options for Running MySQL

    Amazon Elastic Compute Cloud (EC2)

● Not Database As a Service
● Build your own instances, choosing your
  Operating system, compute resources and
  RAM.
● Multiple Regions, and availability zones
  within a region for redundancy.
Running MySQL in EC2
Storage Options
● EC2 comes with ephemeral storage by
  default.
  ○ If your instance restarts, you lose the data.
  ○ SSD options available.
● Use Elastic Block Storage (EBS) for
  persistence.
  ○ EBS volumes can be RAIDed for higher IO
    throughput. (not for higher availability)
  ○ Snapshots are a highly desirable backup
    mechanism.
Running MySQL in EC2
Choosing MySQL
● Unlike RDS, you can choose your binaries.
  ○ MySQL 5.1, 5.5, 5.6, MariaDB, Percona XtraDB,
    Drizzle.
● Unlike RDS, you can choose your replication
  topology:
  ○ Standard master/slave
  ○ Master/master
  ○ Tiered replication
● Unlike RDS, you can replicate across
  regions for disaster recovery.
Running MySQL in EC2
● Options for reducing management overhead
  ○ Roll your own config mgmt via Chef, Puppet, Ansible
  ○ Script it yourself (really?)
  ○ Continuent Tungsten can provide full cluster
    management with similar cost of RDS, and none of
    the RDS gotchas.
Pros of MySQL in EC2
● Advanced configurations (topologies,
  heterogenous instance types or storage
  types) allow DBAs to build truly custom
  solutions.
● Access to the OS, all logs, root user and full
  management.
● Fewer RDS gotchas (rds specific admin
  tasks, surprises mid-operation, etc...)
● DBA overhead not as high as you might
  think for commoditized tasks.
Pros of MySQL in EC2
● EC2 Reserved instances can be reused by
  non-DB tiers (cache, app, file, etc...) vs. RDS
  reserved instances which must be MySQL.
● Snapshots allow for easy building of test
  environments.
● Access to advanced topologies means much
  less downtime for rolling migrations and
  upgrades.
● Multi-region disaster recovery.
Pros of MySQL in RDS
● RDS push button tasks are super easy and
  useful.
● Allows DBAs to focus immediately on high
  value tasks (sql tuning, data modeling,
  scaling plans)
● Can help enable developers (can also help
  them shoot themselves in the foot!)
● No need to build out your own failover
  mechanisms.
Q&A
  Laine Campbell, CEO PalominoDB

http://www.slideshare.net/lainecampbell

More Related Content

What's hot

What's hot (20)

IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
 
Migrating Oracle database to PostgreSQL
Migrating Oracle database to PostgreSQLMigrating Oracle database to PostgreSQL
Migrating Oracle database to PostgreSQL
 
Cassandra
Cassandra Cassandra
Cassandra
 
Scylla Summit 2022: Migrating SQL Schemas for ScyllaDB: Data Modeling Best Pr...
Scylla Summit 2022: Migrating SQL Schemas for ScyllaDB: Data Modeling Best Pr...Scylla Summit 2022: Migrating SQL Schemas for ScyllaDB: Data Modeling Best Pr...
Scylla Summit 2022: Migrating SQL Schemas for ScyllaDB: Data Modeling Best Pr...
 
Sizing Your Scylla Cluster
Sizing Your Scylla ClusterSizing Your Scylla Cluster
Sizing Your Scylla Cluster
 
Writing powerful stored procedures in PL/SQL
Writing powerful stored procedures in PL/SQLWriting powerful stored procedures in PL/SQL
Writing powerful stored procedures in PL/SQL
 
ScyllaDB's Avi Kivity on UDF, UDA, and the Future
ScyllaDB's Avi Kivity on UDF, UDA, and the FutureScyllaDB's Avi Kivity on UDF, UDA, and the Future
ScyllaDB's Avi Kivity on UDF, UDA, and the Future
 
ClustrixDB: how distributed databases scale out
ClustrixDB: how distributed databases scale outClustrixDB: how distributed databases scale out
ClustrixDB: how distributed databases scale out
 
Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...
Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...
Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...
 
Kafka website activity architecture
Kafka website activity architectureKafka website activity architecture
Kafka website activity architecture
 
MEETUP - Unboxing Apache Cassandra 3.10
MEETUP - Unboxing Apache Cassandra 3.10MEETUP - Unboxing Apache Cassandra 3.10
MEETUP - Unboxing Apache Cassandra 3.10
 
Ebay: DB Capacity planning at eBay
Ebay: DB Capacity planning at eBayEbay: DB Capacity planning at eBay
Ebay: DB Capacity planning at eBay
 
IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...
IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...
IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...
 
Scylla Summit 2018: Cassandra and ScyllaDB at Yahoo! Japan
Scylla Summit 2018: Cassandra and ScyllaDB at Yahoo! JapanScylla Summit 2018: Cassandra and ScyllaDB at Yahoo! Japan
Scylla Summit 2018: Cassandra and ScyllaDB at Yahoo! Japan
 
CASSANDRA MEETUP - Choosing the right cloud instances for success
CASSANDRA MEETUP - Choosing the right cloud instances for successCASSANDRA MEETUP - Choosing the right cloud instances for success
CASSANDRA MEETUP - Choosing the right cloud instances for success
 
Introduction to Apache Cassandra
Introduction to Apache CassandraIntroduction to Apache Cassandra
Introduction to Apache Cassandra
 
Introduction to AWS Big Data
Introduction to AWS Big Data Introduction to AWS Big Data
Introduction to AWS Big Data
 
FireEye & Scylla: Intel Threat Analysis Using a Graph Database
FireEye & Scylla: Intel Threat Analysis Using a Graph DatabaseFireEye & Scylla: Intel Threat Analysis Using a Graph Database
FireEye & Scylla: Intel Threat Analysis Using a Graph Database
 
Scylla Summit 2022: IO Scheduling & NVMe Disk Modelling
 Scylla Summit 2022: IO Scheduling & NVMe Disk Modelling Scylla Summit 2022: IO Scheduling & NVMe Disk Modelling
Scylla Summit 2022: IO Scheduling & NVMe Disk Modelling
 
Cassandra for mission critical data
Cassandra for mission critical dataCassandra for mission critical data
Cassandra for mission critical data
 

Viewers also liked

Building Your Application Security Data Hub - OWASP AppSecUSA
Building Your Application Security Data Hub - OWASP AppSecUSABuilding Your Application Security Data Hub - OWASP AppSecUSA
Building Your Application Security Data Hub - OWASP AppSecUSA
Denim Group
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
Kevin Fealey
 

Viewers also liked (6)

Building Your Application Security Data Hub - OWASP AppSecUSA
Building Your Application Security Data Hub - OWASP AppSecUSABuilding Your Application Security Data Hub - OWASP AppSecUSA
Building Your Application Security Data Hub - OWASP AppSecUSA
 
AWS Users Meetup April 2015
AWS Users Meetup April 2015AWS Users Meetup April 2015
AWS Users Meetup April 2015
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
 
Web Application Firewall (WAF) DAST/SAST combination
Web Application Firewall (WAF) DAST/SAST combinationWeb Application Firewall (WAF) DAST/SAST combination
Web Application Firewall (WAF) DAST/SAST combination
 
High-Availability using MySQL Fabric
High-Availability using MySQL FabricHigh-Availability using MySQL Fabric
High-Availability using MySQL Fabric
 
Application Security Architecture and Threat Modelling
Application Security Architecture and Threat ModellingApplication Security Architecture and Threat Modelling
Application Security Architecture and Threat Modelling
 

Similar to Running MySQL in AWS

Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive Writes
Liran Zelkha
 
Ukoug 2011 mysql_arch_for_orcl_dba
Ukoug 2011 mysql_arch_for_orcl_dbaUkoug 2011 mysql_arch_for_orcl_dba
Ukoug 2011 mysql_arch_for_orcl_dba
orablue11
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
Lenz Grimmer
 
Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02
Louis liu
 

Similar to Running MySQL in AWS (20)

Scaling MySQL in Amazon Web Services
Scaling MySQL in Amazon Web ServicesScaling MySQL in Amazon Web Services
Scaling MySQL in Amazon Web Services
 
Webinar Slides: High Noon at AWS — Amazon RDS vs. Tungsten Clustering with My...
Webinar Slides: High Noon at AWS — Amazon RDS vs. Tungsten Clustering with My...Webinar Slides: High Noon at AWS — Amazon RDS vs. Tungsten Clustering with My...
Webinar Slides: High Noon at AWS — Amazon RDS vs. Tungsten Clustering with My...
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive Writes
 
What’s new in Amazon RDS - ADB207 - Chicago AWS Summit
What’s new in Amazon RDS - ADB207 - Chicago AWS SummitWhat’s new in Amazon RDS - ADB207 - Chicago AWS Summit
What’s new in Amazon RDS - ADB207 - Chicago AWS Summit
 
What's new in Amazon RDS - ADB206 - New York AWS Summit
What's new in Amazon RDS - ADB206 - New York AWS SummitWhat's new in Amazon RDS - ADB206 - New York AWS Summit
What's new in Amazon RDS - ADB206 - New York AWS Summit
 
Evolution of DBA in the Cloud Era
 Evolution of DBA in the Cloud Era Evolution of DBA in the Cloud Era
Evolution of DBA in the Cloud Era
 
RDS for MySQL, No BS Operations and Patterns
RDS for MySQL, No BS Operations and PatternsRDS for MySQL, No BS Operations and Patterns
RDS for MySQL, No BS Operations and Patterns
 
Maximizing performance via tuning and optimization
Maximizing performance via tuning and optimizationMaximizing performance via tuning and optimization
Maximizing performance via tuning and optimization
 
Maximizing performance via tuning and optimization
Maximizing performance via tuning and optimizationMaximizing performance via tuning and optimization
Maximizing performance via tuning and optimization
 
Modeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQLModeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQL
 
Introducing the ultimate MariaDB cloud, SkySQL
Introducing the ultimate MariaDB cloud, SkySQLIntroducing the ultimate MariaDB cloud, SkySQL
Introducing the ultimate MariaDB cloud, SkySQL
 
AWS Database Services
AWS Database ServicesAWS Database Services
AWS Database Services
 
Ukoug 2011 mysql_arch_for_orcl_dba
Ukoug 2011 mysql_arch_for_orcl_dbaUkoug 2011 mysql_arch_for_orcl_dba
Ukoug 2011 mysql_arch_for_orcl_dba
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
Cloud Architecture best practices
Cloud Architecture best practicesCloud Architecture best practices
Cloud Architecture best practices
 
What's New in Amazon Relational Database Service (DAT203) - AWS re:Invent 2018
What's New in Amazon Relational Database Service (DAT203) - AWS re:Invent 2018What's New in Amazon Relational Database Service (DAT203) - AWS re:Invent 2018
What's New in Amazon Relational Database Service (DAT203) - AWS re:Invent 2018
 
AWS Certified Cloud Practitioner Course S11-S17
AWS Certified Cloud Practitioner Course S11-S17AWS Certified Cloud Practitioner Course S11-S17
AWS Certified Cloud Practitioner Course S11-S17
 
Amazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database EngineAmazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database Engine
 

More from Laine Campbell

An Introduction To Palomino
An Introduction To PalominoAn Introduction To Palomino
An Introduction To Palomino
Laine Campbell
 
Hybrid my sql_hadoop_datawarehouse
Hybrid my sql_hadoop_datawarehouseHybrid my sql_hadoop_datawarehouse
Hybrid my sql_hadoop_datawarehouse
Laine Campbell
 
Methods of Sharding MySQL
Methods of Sharding MySQLMethods of Sharding MySQL
Methods of Sharding MySQL
Laine Campbell
 
CouchConf SF 2012 Lightning Talk - Operational Excellence
CouchConf SF 2012 Lightning Talk - Operational ExcellenceCouchConf SF 2012 Lightning Talk - Operational Excellence
CouchConf SF 2012 Lightning Talk - Operational Excellence
Laine Campbell
 

More from Laine Campbell (9)

Recruiting for diversity in tech
Recruiting for diversity in techRecruiting for diversity in tech
Recruiting for diversity in tech
 
Database engineering
Database engineeringDatabase engineering
Database engineering
 
Velocity pythian operational visibility
Velocity pythian operational visibilityVelocity pythian operational visibility
Velocity pythian operational visibility
 
Pythian operational visibility
Pythian operational visibilityPythian operational visibility
Pythian operational visibility
 
An Introduction To Palomino
An Introduction To PalominoAn Introduction To Palomino
An Introduction To Palomino
 
Hybrid my sql_hadoop_datawarehouse
Hybrid my sql_hadoop_datawarehouseHybrid my sql_hadoop_datawarehouse
Hybrid my sql_hadoop_datawarehouse
 
Methods of Sharding MySQL
Methods of Sharding MySQLMethods of Sharding MySQL
Methods of Sharding MySQL
 
CouchConf SF 2012 Lightning Talk - Operational Excellence
CouchConf SF 2012 Lightning Talk - Operational ExcellenceCouchConf SF 2012 Lightning Talk - Operational Excellence
CouchConf SF 2012 Lightning Talk - Operational Excellence
 
Understanding MySQL Performance through Benchmarking
Understanding MySQL Performance through BenchmarkingUnderstanding MySQL Performance through Benchmarking
Understanding MySQL Performance through Benchmarking
 

Recently uploaded

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Running MySQL in AWS

  • 1. Laine Campbell, CEO PalominoDB Running MySQL in AWS The next generation in RDBMS
  • 2. Why Amazon Web Services? Infrastructure as a Service ● No more waiting for hardware. ● No more managing hardware. ● No more aged out hardware.
  • 3. Why Amazon Web Services? Elasticity
  • 4. Why Amazon Web Services? Financial Considerations ● Cloud expenses are opex, not capex - fully deductible the first year. ● Eliminate hardware inventory. ● Reduce costs of administrators, facilities, network, etc...
  • 5. Why MySQL? A Known Quantity ● Easy to find developers and operators. ● Extensive documentation, community and tribal knowledge. ● Well documented knowledge of bugs, with multiple vendors supporting, improving and operating. (slowing down on Oracle front)
  • 6. Why MySQL? But is it Web Scale? ● Scaling patterns are well understood. ● With proper tuning and knowledge, can support the vast majority of workloads. ● Relational data is often the right tool for the right workload. ● Data consistency and recoverability isn't as optional as many believe.
  • 7. MySQL Scaling Patterns Need more transactions? Vertical Scaling ○ Tune your SQL. ○ Manage your configs. ○ Add MOAR RAM ○ Add MOAR DISK ○ Add MOAR CPU ○ Add of all the things.
  • 8. MySQL Scaling Patterns Need more reads? ○ Add Replicas via MySQL Replication ○ Add Cache Tier ○ Tune your ORM
  • 9. MySQL Scaling Patterns Replication Lagging? ○ Functional Partitioning - Break out workloads into separate clusters. ○ Split database schema into multiple schemas - use parallel replication. (5.6, or Tungsten) ○ Stop abusing MySQL! Some workloads don't belong in a relational database! (logs, queues, massive non- transactional reads)
  • 11. MySQL Scaling Patterns Need more writes? ○ Time to shard! Split your data-sets into multiple clusters and scale linearly.
  • 12. Options for Running MySQL Amazon Relational Database Service (RDS) ● Choose your instance size. ● Choose your major MySQL Version. ● Choose from a few topology options. ● Choose your parameter configuration. ● Choose your region and availability zone.
  • 13. Your RDS MySQL Master Stand-Alone or Multi-AZ ● Stand-Alone: ○ If it goes away, you must use backups to recover. ○ Less expensive than multi-AZ, good for prototyping. ○ With replicas, you can use standard failover/replica promotion. ○ Storage up to 1 TB. (auto striping over 300 GB for higher performance) ○ Provisioned IOPs allow for predictable I/O performance. ○ Choose your region and availability zone.
  • 14. Multi-AZ Failover ● A Highly Available Master: ○ Uses synchronous data replication to keep a failover ready. ○ Auto-failover. ○ Redundancy for less than 2x the cost. ● The Problems: ○ Failover happens more often than you might think. ○ Failovers are impacting for up to 30 seconds. ○ If relaxing binlog flushes, failovers can disrupt your replication topology. ○ Synchronous replication reduces write capacity.
  • 16. MySQL Replicas ● Push Button Replicas ○ Rapid deployment of replicas via snapshot. ○ Promotion to masters: ■ For non-multi AZ failover. ■ For standalone dev/test environments. ● The Problems: ○ Builds can cause some load issues on your master. ○ Only one built at a time. ○ All must be identical. ○ No complex replication topologies.
  • 17. RDS Gotchas ● Parameter Groups ○ Must change from Default to use dynamic variables. ○ Configuration changes become more complex. ● Limited Access ○ No root/super-user access. ○ No direct management of replication. ○ No access to error logs or binlogs. ● Other Concerns ○ Minimal visibility to system issues ○ No OS access for diagnostics
  • 18. Options for Running MySQL Amazon Elastic Compute Cloud (EC2) ● Not Database As a Service ● Build your own instances, choosing your Operating system, compute resources and RAM. ● Multiple Regions, and availability zones within a region for redundancy.
  • 19. Running MySQL in EC2 Storage Options ● EC2 comes with ephemeral storage by default. ○ If your instance restarts, you lose the data. ○ SSD options available. ● Use Elastic Block Storage (EBS) for persistence. ○ EBS volumes can be RAIDed for higher IO throughput. (not for higher availability) ○ Snapshots are a highly desirable backup mechanism.
  • 20. Running MySQL in EC2 Choosing MySQL ● Unlike RDS, you can choose your binaries. ○ MySQL 5.1, 5.5, 5.6, MariaDB, Percona XtraDB, Drizzle. ● Unlike RDS, you can choose your replication topology: ○ Standard master/slave ○ Master/master ○ Tiered replication ● Unlike RDS, you can replicate across regions for disaster recovery.
  • 21. Running MySQL in EC2 ● Options for reducing management overhead ○ Roll your own config mgmt via Chef, Puppet, Ansible ○ Script it yourself (really?) ○ Continuent Tungsten can provide full cluster management with similar cost of RDS, and none of the RDS gotchas.
  • 22. Pros of MySQL in EC2 ● Advanced configurations (topologies, heterogenous instance types or storage types) allow DBAs to build truly custom solutions. ● Access to the OS, all logs, root user and full management. ● Fewer RDS gotchas (rds specific admin tasks, surprises mid-operation, etc...) ● DBA overhead not as high as you might think for commoditized tasks.
  • 23. Pros of MySQL in EC2 ● EC2 Reserved instances can be reused by non-DB tiers (cache, app, file, etc...) vs. RDS reserved instances which must be MySQL. ● Snapshots allow for easy building of test environments. ● Access to advanced topologies means much less downtime for rolling migrations and upgrades. ● Multi-region disaster recovery.
  • 24. Pros of MySQL in RDS ● RDS push button tasks are super easy and useful. ● Allows DBAs to focus immediately on high value tasks (sql tuning, data modeling, scaling plans) ● Can help enable developers (can also help them shoot themselves in the foot!) ● No need to build out your own failover mechanisms.
  • 25. Q&A Laine Campbell, CEO PalominoDB http://www.slideshare.net/lainecampbell