Top Banner
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS [email protected]
73

Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS [email protected]. Scale compute

May 25, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark

Deep Dive on MySQL Databases on Amazon RDS

Chayan Biswas

Sr. Product Manager, AWS

[email protected]

Page 2: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Scale compute and storage with a few clicks; minimal downtime for your application

Automatic Multi-AZ data replication; automated backup, snapshots, and failover

Data encryption at rest and in transit; industry compliance and assurance programs

Amazon Relational Database Service (Amazon RDS) Managed relational database service with a choice of popular database engines

Easy to administer

Easily deploy and maintain hardware, OS, and DB software; built-in monitoring

Performant & scalable Available & durable Secure & compliant

Page 3: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Amazon RDS database engines

Commercial Open source Cloud native

Amazon Elastic Block Store (Amazon EBS)-based storage Amazon Aurora storage system

MySQL compatible

PostgreSQL compatible

Page 4: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Amazon RDS database engines

Commercial Open source Cloud native

Amazon Elastic Block Store (Amazon EBS)-based storage Amazon Aurora storage system

MySQL compatible

PostgreSQL compatible

Page 5: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Agenda

• Why run MySQL

• Why run managed MySQL on Amazon RDS

• Why Aurora MySQL?

Page 6: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 7: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

1. Popular

2. Innovative

3. Flexible

Image credit: By Mackphillips - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=55946550

Page 8: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

1. Popular

2. Innovative

3. Flexible

Image credit: By Mackphillips - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=55946550

Page 9: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

MySQL is the world’s most popular database

All respondents

Source: Stack Overflow Developer Survey Results 2018 ( https://insights.stackoverflow.com/survey/2018/#technology )

Page 10: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

“Most popular” buys you . . .

Large ecosystem of ISVs, Tools, Implementation and Support Partners

Highly exercised, stable code

Large community of users and community-driven resources and a larger DBA talent pool

Page 11: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

1. Popular

2. Innovative

3. Flexible

Image credit: By Mackphillips - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=55946550

Page 12: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

MySQL 8.0 highlights - FUNCTIONALITY

• Common Table Expressions

• Window functions

• JSON improvements

• 5108 Spatial Reference Systems

• utf8mb4

Page 13: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

MySQL 8.0 highlights - AVAILABILITY

• Instant ADD COLUMN

• Unified, transactional data dictionary

• Crash-safe, atomic DDL

Page 14: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

MySQL 8.0 highlights - PERFORMANCE

• Hot-spot management

• Descending indexes

• Invisible indexes

• Improved optimizer cost model

• Resource Groups

• Improved replication

Page 15: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

MySQL 8.0 highlights – SECURITY, MANAGEABILITY

• Roles

• Password strength

• Open SSL as default TLS/SSL library

• Enhanced observability

Page 16: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

MariaDB 10.3 highlights

• Oracle compatibility• PL/SQL compatibility parser

• Sequences

• INTERSECT and EXCEPT to complement UNION

• New ROW type and TYPE OF stored functions

• Invisible Columns

• Cursor with parameters

• Temporal data processing

• User-defined aggregates

• Instant ADD COLUMN for InnoDB

Image credit: By Mackphillips - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=55946550

Page 17: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

MariaDB 10.4 highlights (Release Candidate)

• SQL Server compatibility • sql_mode=‘mssql’

• Subset of Microsoft SQL Server's language

• Password expiry and account locking

• Instant DROP COLUMN for InnoDB

Image credit: By Mackphillips - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=55946550

Page 18: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

1. Popular

2. Innovative

3. Flexible

Image credit: By Mackphillips - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=55946550

Page 19: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 20: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

1. Popular

2. Innovative

3. Flexible

Page 21: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Hundreds of thousands of customers

Page 22: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Popular buys you . . .

Unrivalled operational excellence

Highly exercised, stable code

Page 23: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Who can you trust?

Automated remediation

World’s most experienced operators

Automation

Page 24: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

1. Popular

2. Innovative

3. Flexible

Image credit: By Mackphillips - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=55946550

Page 25: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Amazon RDS highlights - AVAILABILITY

• Automated, 0-RPO failover across AZs

• Managed x-region replicas for DR

• Automated backups, manual snapshots

• Point-in-time recovery

Page 26: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Automated, 0-RPO failover across AZs

DNS

Primary Standby

EC2 #1

EC2 #2

EBS #1

EBS #2

Each host manages set of EBS volumes with a full copy of the data

Instances are monitored by an external observer to maintain consensus over quorum

Availability zone 1 Availability zone 2

App

Page 27: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Automated, 0-RPO failover across AZs

DNS

EC2 #1

EC2 #2

EBS #1

EBS #2

Each host manages set of EBS volumes with a full copy of the data

Instances are monitored by an external observer to maintain consensus over quorum

Failover initiated by automation or through RDS API

Availability zone 1 Availability zone 2

App

Primary Standby

Page 28: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Automated, 0-RPO failover across AZs

DNS

Primary

EC2 #1

EC2 #2

EBS #1

EBS #2

Each host manages set of EBS volumes with a full copy of the data

Instances are monitored by an external observer to maintain consensus over quorum

Failover initiated by automation or through RDS API

Redirection to the new primary instance is provided through DNS

Availability zone 1 Availability zone 2

App

Page 29: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Automated, 0-RPO failover across AZs

DNS

EC2 #1

EC2 #2

EBS #1

EBS #2

Each host manages set of EBS volumes with a full copy of the data

Instances are monitored by an external observer to maintain consensus over quorum

Failover initiated by automation or through RDS API

Redirection to the new primary instance is provided through DNS

Availability zone 1 Availability zone 2

App

Standby Primary

Page 30: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Read Scaling with Read Replicas

Use Amazon RDS read replicas to relieve pressure on your source database with additional read capacity

Create up to five replicas per source database

Monitor replication lag in Amazon CloudWatch or Amazon RDS console

Region

Asynchronous replication

Page 31: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Planning for Disaster Recovery

Use a cross-region read replica as a standby database for recovery in the event of a disaster

Read replicas can be configured for Multi-AZ to reduce recovery time

Can use delayed replication for MySQL to protect from self-inflicted disasters

Region 1

Availability Zone 2

Synchronous replication

Synchronous replication

Availability Zone 3

Availability Zone 1 Availability Zone 4

Region 2

Asynchronous replication

NEW!

NEW!

Page 32: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Backups, Snapshots, and Point-in-time restore

Transaction

Logs

EBS

Vol EBS SnapshotAmazon

S3

App

Two options – automated backups and manual snapshots

EBS snapshots stored in Amazon S3

Transaction logs stored every 5 minutes in S3 to support Point in Time Recovery

No performance penalty for backups

Snapshots can be copied across regions or shared with other accounts

Availability zone 1

Availability zone 2

Region 1

EBS vol.

EBS vol. Region 2

EBS vol.

Page 33: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

New Amazon RDS backup features

Retain automated backups

Automated backups are retained for the retention period for the instance

Optionally keep automated backups and transaction logs upon instance deletion

Specify parameter group value on restore

Incremental encrypted snapshot copy

NEW!

NEW!

NEW!

Page 34: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Amazon RDS highlights – SECURITY, MANAGEABILITY

• IAM DB Authentication

• Automated OS and database upgrades

• Push-button scaling

• Managed binlog replication

• Log upload to CloudWatch Logs

• Industry compliance

• Per-second billing NEW!

Page 35: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Recommendations

Example issues:

Engine version outdated, Pending maintenance available, Automated backups disabled, Enhanced Monitoring disabled, Encryption disabled

Parameter recommendations:

Non-default custom memory parameters, Change buffering enabled, Logging to table

Aurora cluster recommendations

NEW!

NEW!

Page 36: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Start and Stop

Solution for development and test environments

Stop and start a running database instance from the console or AWS Command Line Interface (AWS CLI)

Now available for both single-AZ and Multi-AZ DB instances and Aurora DB clusters

While instance is stopped, you only pay for storage

Backup retention window is maintained while stopped

Instances are restarted after seven days

NEW!

Page 37: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Amazon RDS highlights – PERFORMANCE

• R5, M5, and T3 database instance family

• Elastic volumes up to 64 TB

• Up to 80K Provisioned IOPS

NEW!

NEW!

NEW!

Page 38: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Performance Insights

• Measures DB Load

• Identifies bottlenecks (top SQL, wait events)

• Adjustable time frame (hour, day, week, longer)

Page 39: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

New features in RDS Performance Insights

• Engine support: MySQL, MariaDB

• Extended data retention• Retain up to two years of performance

data

• Trend performance over time, analyze month-over-month activity, and compare end-of-quarter or end-of-year performance with earlier performance

• Load metrics in CloudWatch• DBLoad

• DBLoadCPU

• DBLoadNonCPU

• AWS CloudFormation support

NEW!

NEW!

NEW!

Page 40: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Monitor RDS with CloudWatch

• Amazon CloudWatch metrics

• CPU/Storage/Memory

• Swap usage

• I/O (read and write)

• Latency (read and write)

• Throughput (read and write)

• Replica lag

• Amazon CloudWatch alarms

• Similar to on-premises monitoring tools

• Enhanced monitoring

• Access to additional CPU, memory, file system, and disk I/O metrics

• As low as one-second intervals

• Integration with third-party monitoring tools

Page 41: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Database activity monitoring and insights

Search: Look for specific events across log files.

Metrics: Measure activity in your Aurora DB cluster.

Continuously monitor activity in your DB clusters by sending audit logs to CloudWatch Logs.

Export to S3 for long term archival; analyze logs using Athena; visualize logs with QuickSight.

Visualizations: Create activity dashboards

Alarms: Get notified or take actions

Amazon CloudWatch

Amazon Athena

Amazon QuickSight

S3

Page 42: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

1. Popular

2. Innovative

3. Flexible

Image credit: By Mackphillips - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=55946550

Page 43: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 44: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Amazon Aurora…Enterprise database at open source price

Delivered as a managed service

Amazon Aurora

Speed and availability of high-end commercial databases

Simplicity and cost-effectiveness of open source databases

Drop-in compatibility with MySQL and PostgreSQL

Simple pay as you go pricing

Page 45: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Amazon Aurora innovationsRe-imagining databases for the cloud

Automate administrative tasks – fully managed service

Scale-out, distributed, multi-tenant design

Service-oriented architecture leveraging AWS services

Page 46: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Scale-out, distributed architecture

Purpose-built log-structured distributed storage system designed for databases

Storage volume is striped across hundreds of storage nodes distributed over 3 different availability zones

Six copies of data, two copies in each availability zone to protect against AZ+1 failures

Plan to apply same principles to other layers of the stack

Shared storage volume

Storage nodes with SSDs

Availability

Zone 1

SQL

Transactions

Caching

Availability

Zone 2

SQL

Transactions

Caching

Availability

Zone 3

SQL

Transactions

Caching

Page 47: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Leveraging AWS services

Invoke AWS Lambda events from stored procedures/triggers

Load data from Amazon Simple Storage Service (Amazon S3), store snapshots and backups in S3

Lambda

function

Amazon

S3

AWS Identity

and Access

Management

Amazon

CloudWatch

Use AWS Identity and Access Management (IAM) roles to manage database access control

Upload systems metrics and audit logs to CloudWatch

Page 48: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

1. Popular

2. Innovative

3. Flexible

Image credit: By Mackphillips - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=55946550

Page 49: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Aurora customer adoption

Fastest growing service in AWS historyAurora is used by ¾ of the top 100 AWS customers

Page 50: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Who is moving to Aurora and why?

Customers using

open source engines

• Higher performance – up to 5x

• Better availability and durability

• Reduces cost – up to 60%

• Easy migration; no

application change

Customers using

commercial engines

• One tenth of the cost; no licenses

• Integration with cloud ecosystem

• Comparable performance and

availability

• Migration tooling and services

Page 51: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

1. Popular

2. Innovative

3. Flexible

Image credit: By Mackphillips - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=55946550

Page 52: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark

Enterprise-grade

Performance and Scalability

Page 53: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Write and read throughputAurora MySQL is 5x faster than MySQL

0

50,000

100,000

150,000

200,000

250,000

MySQL 5.6 MySQL 5.7 MySQL 8.0

Aurora 5.6 Aurora 5.7

0

100,000

200,000

300,000

400,000

500,000

600,000

700,000

800,000

MySQL 5.6 MySQL 5.7 MySQL 8.0

Aurora 5.6 Aurora 5.7

Write Throughput Read Throughput

Using Sysbench with 250 tables and 200,000 rows per table on R4.16XL

Page 54: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Bulk data load performanceAurora MySQL loads data 2.5x faster than MySQL

Data loading

Data loading

Index build

Index build

0 100 200 300 400 500 600 700 800

MySQL

Amazon

Aurora

Runtime (sec.)

10 Sysbench Tables, 10MM rows per each

Page 55: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

How did we achieve this?

Do less work

• Do fewer IOs

• Minimize network packets

• Cache prior results

• Offload the database engine

Be more efficient

• Process asynchronously

• Reduce latency path

• Use lock-free data structures

• Batch operations together

• Databases are all about I/O

• Network-attached storage is all about packets/second

• High-throughput processing is all about context switches

Page 56: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Aurora I/O profile

MySQL with Replica Amazon Aurora

EBS mirrorEBS mirror

AZ 1 AZ 2

EBSAmazon Elastic

Block Store (EBS)

Primary

Instance

Replica

Instance

1

2

3

4

5

Amazon

S3

MySQL I/O profile for 30 min Sysbench run

780K transactions

7,388K I/Os per million txns (excludes mirroring, standby)

Average 7.4 I/Os per transaction

AZ 1 AZ 3

Primary

Instance

AZ 2

Replica

Instance

ASYNC 4/6 QUORUM

Distributed writes

Replica

Instance

Amazon

S3

Aurora IO profile for 30 min Sysbench run

27,378K transactions – 35X MORE

0.95 I/Os per transaction (6X amplification) – 7.7X LESS

Binlog Data Double-writeLog From files

Page 57: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Aurora lock management

Scan

Delete

Scan

Delete

Insert

Scan Scan

Insert

Delete

Scan

Insert

Insert

MySQL lock manager Aurora lock manager

Same locking semantics as MySQL

Concurrent access to lock chains

Concurrent access to lock chain and lock

manager and to update simultaneously.

Lock-free deadlock detection

Page 58: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Instant crash recovery

Traditional database

Have to replay logs since the last checkpoint

Typically 5 minutes between checkpoints

Single-threaded in MySQL; requires a large number of disk accesses

Amazon Aurora

Underlying storage replays redo records on demand as part of a disk read

Parallel, distributed, asynchronous

No replay for startup

Checkpointed Data Redo Log

Crash at T0 requires

a re-application of the

SQL in the redo log since

last checkpoint

T0 T0

Crash at T0 will result in redo logs being

applied to each segment on demand, in

parallel, asynchronously

Page 59: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

When Database fails – recovery is fast <30 seconds

0.00%

5.00%

10.00%

15.00%

20.00%

25.00%

30.00%

35.00%

1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526272829303132333435

0 - 5s – 30% of fail-overs

0.00%

5.00%

10.00%

15.00%

20.00%

25.00%

30.00%

35.00%

40.00%

45.00%

50.00%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

5 - 10s – 40% of fail-overs

0%

10%

20%

30%

40%

50%

60%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

10 - 20s – 25% of fail-overs

0%

2%

4%

6%

8%

10%

12%

14%

16%

18%

20%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

20 - 30s – 5% of fail-overs

Page 60: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark

Recent Innovations

Page 61: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Aurora MySQL

Performance

• Parallel Query

Availability

• Global Database, Backtrack

Manageability

• Serverless, Cluster start/stop, DB Log upload to CloudWatch Logs,

Synchronous Lambda calls, Custom endpoints

Security

• Encrypted self-managed MySQL to Aurora migration

Page 62: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Parallel query processing

Aurora storage has thousands of CPUs • Opportunity to push down and parallelize query

processing

• Moving processing close to data reduces network traffic and latency

However, there are significant challenges• Data is not range partitioned – require full scans

• Data may be in-flight

• Read views may not allow viewing most recent data

• Not all functions can be pushed down

Database Node

Storage nodes

Push down

predicatesAggregate

results

https://aws.amazon.com/blogs/aws/new-parallel-query-for-amazon-aurora/

Page 63: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Well-known decision support benchmark

0x

20x

40x

60x

80x

100x

120x

Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10Q11Q12Q13Q14Q15Q16Q17Q18Q19Q20Q21Q22

Query response time reduction

Peak speed up ~120x

>10x speedup: 8 of 22 queries

We were able to test Aurora’s parallel query feature and the performance gains were very good. To be specific, We were able to reduce the instance type from r3.8xlarge to r3.2xlarge. For this use-case, parallel query was a great win for us.

Jyoti Shandil, Cloud Data Architect

Parallel Query: Performance results

Page 64: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Aurora Global Database

Region 1

AZ 2 AZ 3AZ 1

MasterReaderReader

Aurora Storage

Outbound

Replication

Fleet

Inbound

Replication

Fleet

Region 2

AZ 2 AZ 3AZ 1

Reader

Aurora Storage

Region n

High throughput: Up to 200K writes/sec – negligible performance impact

Low replica lag: < 1 sec cross-country replica lag under heavy load

Fast recovery: < 1 min to accept full read-write workloads after region failure

https://aws.amazon.com/rds/aurora/global-database/

Page 65: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Database Backtrack

t0 t1 t2

t0 t1

t2

t3 t4

t3

t4

Rewind to t1

Rewind to t3

Invisible Invisible

Backtrack brings the database to a point in time without requiring restore from backups• Backtracking from an unintentional DML or DDL operation

• Backtrack is not destructive. You can backtrack multiple times to find the right point in time

• Also useful for QA (rewind your DB between test runs)

https://aws.amazon.com/blogs/aws/amazon-aurora-backtrack-turn-back-time/

Page 66: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Fast database cloning

Create a copy of a database without duplicate storage costs

• Creation of a clone is nearly instantaneous –we don’t copy data

• Data copy happens only on write – when original and cloned volume data differ

Typical use cases:

• Clone a production DB to run tests

• Reorganize a database

• Save a point in time snapshot for analysis without impacting production system.

Production database

Clone Clone

CloneDev/test

applications

Benchmarks

Production applications

Production applications

https://aws.amazon.com/blogs/aws/amazon-aurora-fast-database-cloning/

Page 67: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Aurora Serverless

Starts up on demand, shuts down when not in use

Scales up/down automatically

No application impact when scaling

Pay per second, 1 minute minimum

WARM POOL OF INSTANCES

APPLICATION

DATABASE STORAGE

SCALABLE DB CAPACITY

REQUEST ROUTERS

https://aws.amazon.com/getting-started/tutorials/configure-connect-serverless-mysql-database-aurora/

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html

Page 68: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

Amazon RDS Data API for serverless applications

Millions of

IOT/mobile devices Data API fleet

API

End-point

Amazon Aurora

Serverless

Access through simple web interface

• Public endpoint addressable from anywhere

• No client configuration required

• No persistent connections required

Ideal for Serverless applications (Lambda)

Ideal for light-weight applications (IOT)

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html

Page 69: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

1. Popular

2. Innovative

3. Flexible

Image credit: By Mackphillips - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=55946550

Page 70: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

“All we have to seeIs I don’t belong to youAnd you don’t belong to me.”

George Michael

Freedom! ’90

Page 71: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Page 72: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark

Common Amazon Aurora migration options

Source database From where Recommended option

RDS

EC2, on premises

EC2, on premises, RDS

Console-based automated

snapshot ingestion and catch

up via binlog replication.

Binary snapshot ingestion

through S3 and catch up via

binlog replication.

Schema conversion using

SCT and data migration via

DMS.

Page 73: Deep Dive on MySQL Databases on Amazon RDS Dive on MySQL Databases...Deep Dive on MySQL Databases on Amazon RDS Chayan Biswas Sr. Product Manager, AWS cbbiswas@amazon.com. Scale compute

© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark

Thank you!

Chayan Biswas

[email protected]