ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
v	
 ?
???????
???, ???? ???? 

2015? 11? 28?
MySQL PowerGroup
2015? 3? ??
Amazon Aurora 100% ????
v	
 ?
Amazon RDS ?????
v	
 ?v	
 ?
AWS Database ??? ??
DynamoDB	
 ?
Amazon	
 ?RDS	
 ?
Amazon	
 ?Redshi3	
 ?
Elas6Cache	
 ?
v	
 ?
?? ??? ??????
?? Aurora, MySQL, MariaDB, PostgreSQL, Oracle, SQL
Server
?? ?? ??? ???
Amazon
RDS
Aurora
RDS ??? ?????? ?? ??
v	
 ?v	
 ?
??? ??
?? ??
?? ???
??????
?? ? ??
??
??
????? ?????
???? ?????
?? ?????
???? ??
Amazon RDS ??? ?? ??
Focus	
 ?your	
 ?
team	
 ?here	
 ?
Let	
 ?AWS	
 ?
focus	
 ?here	
 ?
v	
 ?v	
 ?
RDS ?????? ???? ??
?? ?????? ???? ??
?? CPU ??? ??? ?? ??? ???? ??
?? ??? ?? ??? ? ?? ??? ??
?? ?????? ???? ??
?? ?? / Provisioned IOPS / ???? ??? ??? ???? ??
?? ??? ?? ?? ?? ??? ??
v	
 ?v	
 ?
RDS ??
?? Automated backups
?? Restore your database to a point in time
?? Enabled by default
?? Choose a retention period, up to 35 days
?? Manual snapshots
?? Initiated by you
?? Persist until you delete them
?? Stored in Amazon Simple Storage Service (Amazon S3)
?? Build a new database instance from a snapshot when needed
v	
 ?v	
 ?
Multi-AZ ??? ?? ????
Enterprise-grade fault tolerance solution for production databases
v	
 ?
?? ? ??? ??? ?? ??? ??
?? Copy a database snapshot to a different AWS Region
?? Warm standby for disaster recovery
?? Or use it as a base for migration to a different region
v	
 ?v	
 ?
??? ?? ??? ?? ?? ? ??????
?? Even faster recovery in the event of disaster
?? Bring data close to your customers
?? Promote to a master for easy migration
v	
 ?
??? ??????? ??? Amazon Aurora
v	
 ?v	
 ?
Amazon RDS for Aurora
?? Amazon Aurora? MySQL ?? ??? ?????? ??
?? Aurora? ?? ??????? 10?? 1 ???? MySQL?? ?
? 5? ??? ??? ??
?? 3 ????? ?? 6?? ??? ???? ???? ??
?? Amazon S3? ????? ???? ??
?? ?? ? 15? Amazon Aurora Replicas
?? 10GB?? 64TB?? ???? ?? ??
?? ?? : Virginia, Oregon, Ireland ? Tokyo
v	
 ?v	
 ?
Amazon Aurora ??
?? ??? ?? ????? ??
?? ?? ? ???? ????, ?
?-???, ???-??, ???
??? ???? ???? ??
? ??
?? ?? ??? ??? EC2, VPC,
DynamoDB, SWF, Route 53 ?
AWS ?? ??? ??
?? ?? ??? ??? Amazon S3
??
Logging	
 ?+	
 ?Storage	
 ?
SQL	
 ?
Transac1ons	
 ?
Caching	
 ?
Control	
 ?Plane	
 ?Data	
 ?Plane	
 ?
Amazon S3
DynamoDB
Amazon SWF
Amazon Route 53
v	
 ?
Amazon Aurora? ??? ??
v	
 ?v	
 ?
??? ?????? ??
?? ? ? ?? ?????? ??
?? ???? ??
?? ??-?? ?? ??
?? Amazon S3 ?? ??
?? ?? ?? ?? ? ????
Amazon	
 ?RDS	
 ?
v	
 ?v	
 ?
??? ???? ??
?? ?? ??? ???? ¨C ??? ?? ??
?? ??? ??? ?? ?? ¨C ?? ?? ??
?? Amazon S3? ??, ?? ??
?? ?? 64TB?? ?? ???? ?? ?? ¨C ??, ??? ?? ??
?? ???? ??????, ?? ??, ??? ??, ???
v	
 ?v	
 ?
??? ?? ??
?? ?? ? ???
?? AES-256 ? ???? ??
?? ??? ? S3 ? ?? ???? ???
?? AWS KMS ? ?? ? ??
?? ?? ? ??? ¨C SSL
?? Amazon VPC? ?? ???? ??
?? ??? ?? ?? ??
?? ?? ??? ?? ? ??? ?? ??? ??
Storage	
 ?
SQL	
 ?
Transac1ons	
 ?
Caching	
 ?
Amazon S3
Applica1on	
 ?
v	
 ?
Amazon Aurora? ????
v	
 ?v	
 ?
Amazon Aurora? ????
?? ?? ????
?? 3????? 6-way ??
?? 4 / 6 ??, 3 / 6 ?? ??
?? S3 ???? ?? ??
?? SSD, ???-??, ??-??
? ????
?? ??? ???? ??
?? ?? 64TB ??
?? ?????? ??
?? ??-?? ?? ????
SQL	
 ?
Transac1ons	
 ?
AZ	
 ?1	
 ? AZ	
 ?2	
 ? AZ	
 ?3	
 ?
Caching	
 ?
Amazon S3
v	
 ?v	
 ?
???? ?? ?? ? ?? ???
?? ?? ?? ??, ??, ??
?? 2?? ?? ? 1? ?? ?? ??? ?? ? ?? ???? ?? ??
?? 3?? ?? ???? ?? ???? ?? ??
SQL	
 ?
Transac6on	
 ?
AZ	
 ?1	
 ? AZ	
 ?2	
 ? AZ	
 ?3	
 ?
Caching	
 ?
SQL	
 ?
Transac6on	
 ?
AZ	
 ?1	
 ? AZ	
 ?2	
 ? AZ	
 ?3	
 ?
Caching	
 ?
Read	
 ?and	
 ?write	
 ?availability	
 ?	
 ?Read	
 ?availability	
 ?	
 ?
v	
 ?v	
 ?
Amazon Aurora? ???? ?? ? ??
?? ??(Automated Backup)
?? RDS? ??? ???? ??
?? ?? DB ????? ???? ???
?? ?? ?? ??(Backup Retention
Period) ?? ??? ?? (1~35?)
?? ?? ? ?? ??
?? ?? ? ?? ?? ??
??? (DB Snapshots)
?? ???? ??? ??
?? ??? ??? ??
?? ?? ?? ?? ?? ??
?? ?? ????? ?? ??
v	
 ?v	
 ?
Amazon Aurora? ???? ?? ? ??
?? (Restore)
?? ?? ?? ??????? ??
Aurora DB ???? ??
?? ?? ?? ?? ? ?? ????? ?
?
?? Latest Restorable Time : ?? 5? ??
?? Earliest Restorable Time : ?? ?? ??
?? Aurora Backup? ??, ?? ????
?? ?? ??? ?? ??? ???
??? ? ?? ??
v	
 ?v	
 ?
Amazon Aurora Replica? ?? ??
MySQL ?? ??
?? ??? ??? ??? ??
?? ??? ???? ???? ??
?? ?? ??? ??
?? ???? ? ??? ?? ?? ??
Page	
 ?cache	
 ?
invalida6on	
 ?
Aurora Master	
 ?
30%	
 ?Read	
 ?
70%	
 ?Write	
 ?
Aurora	
 ?Replica	
 ?
100%	
 ?New	
 ?Reads	
 ?
Shared	
 ?Mul1-?©\AZ	
 ?Storage	
 ?
MySQL Master	
 ?
30%	
 ?Read	
 ?
70%	
 ?Write	
 ?
MySQL	
 ?Replica	
 ?
30%	
 ?New	
 ?Reads	
 ?
70%	
 ?Write	
 ?
Single	
 ?threaded	
 ?
binlog	
 ?apply	
 ?
Data	
 ?Volume	
 ? Data	
 ?Volume	
 ?
Amazon Aurora ?? ??
?? ?? ?? ??
?? ??? ?? ??, ?? 15? ??
?? ~100 ms ?? ??
?? ?? ????? ???? ????
? ??? ?? ??
v	
 ?v	
 ?
Amazon Aurora? ???? ?? ??-??
?? ?? ?? ??
?? ?? ??? ? ?? ????? ??
?? DB ???? ????? ????, ?? ??
????? DNS ??? ??
?? ????? 1? ??? ??
AZ	
 ?1	
 ?
Primary	
 ?
instance	
 ?
Replica	
 ?
instance	
 ?
Replica	
 ?
instance	
 ?
Replica	
 ?
instance	
 ?
Shared	
 ?Mul1-?©\AZ	
 ?Storage	
 ?
Automa6c	
 ?
Failover	
 ?to	
 ?
Replica	
 ?Instance	
 ?
AZ	
 ?1	
 ?
Primary	
 ?
instance	
 ?
Primary	
 ?
instance	
 ?
Shared	
 ?Mul1-?©\AZ	
 ?Storage	
 ?
Create	
 ?new	
 ?
primary	
 ?Instance	
 ?
Aurora Replica? ?? ?? Aurora Replica? ?? ??
?? ?? ?? ??
?? ?? ?? ??? ? DB ???? ?? ??
?? ?? ?? ? ?? ?? ??? ?? DB ???
? ?? ??
?? ????? 15? ??? ??
AZ	
 ?3	
 ?AZ	
 ?2	
 ?AZ	
 ?3	
 ?AZ	
 ?2	
 ?
Primary	
 ?
instance	
 ?
v	
 ?v	
 ?
Amazon Aurora? ???? ?? ??-??
??-?©\??	
 ?
1? ??	
 ?
v	
 ??? ??????
?? Have to replay logs since the last
checkpoint
?? 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
Checkpointed	
 ?Data	
 ? Redo	
 ?Log	
 ?
Crash	
 ?at	
 ?T0	
 ?requires	
 ?
a	
 ?re-?©\applica6on	
 ?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	
 ?
??? ??? ??
v	
 ?v	
 ?
?? ??
?? We moved the cache out of the
database process
?? Cache remains warm in the
event of a database restart
?? Lets you resume fully loaded
operations much faster
?? Instant crash recovery +
survivable cache = quick and
easy recovery from DB failures
SQL	
 ?
Transac1ons	
 ?
Caching	
 ?
SQL	
 ?
Transac1ons	
 ?
Caching	
 ?
SQL	
 ?
Transac1ons	
 ?
Caching	
 ?
Caching	
 ?process	
 ?is	
 ?outside	
 ?the	
 ?DB	
 ?process	
 ?	
 ?
and	
 ?remains	
 ?warm	
 ?across	
 ?a	
 ?database	
 ?restart	
 ?
v	
 ?v	
 ?
?? ???? ?? ??? ????
Failure	
 ?Detec6on	
 ? DNS	
 ?Propaga6on	
 ?
Recovery	
 ? Recovery	
 ?
App	
 ?
running	
 ?
DB	
 ?
Failure	
 ?
Failure	
 ?Detec6on	
 ?
Recovery	
 ?
App	
 ?
running	
 ?
DB	
 ?
Failure	
 ?
?	
 ?
DNS	
 ?Propaga6on	
 ?
v	
 ?v	
 ?
SQL ?? ?? ????? ??
?? To	
 ?cause	
 ?the	
 ?failure	
 ?of	
 ?a	
 ?component	
 ?at	
 ?the	
 ?database	
 ?node:	
 ?
ALTER SYSTEM CRASH [{INSTANCE | DISPATCHER | NODE}]?
?? To	
 ?simulate	
 ?the	
 ?failure	
 ?of	
 ?disks:	
 ?
ALTER SYSTEM SIMULATE percent_failure DISK failure_type IN
[DISK index | NODE index] FOR INTERVAL interval
?? To	
 ?simulate	
 ?the	
 ?failure	
 ?of	
 ?networking:	
 ?
ALTER SYSTEM SIMULATE percent_failure NETWORK failure_type
[TO {ALL | read_replica | availability_zone}] FOR INTERVAL interval
v	
 ?
Amazon Aurora? ?? ??
v	
 ?v	
 ?
?? MySQL Sysbench
?? R3.8XL - 32 vCPU ?
244 GB RAM
?? 4 ????? - ? 1,000
???
?? ?? (console screenshot)
v	
 ?v	
 ?
?? MySQL Sysbench
?? R3.8XL - 32 vCPU ?
244 GB RAM
?? 1 ????? - ? 1,000
???
?? ?? (console screenshot)
v	
 ?v	
 ?
?? ?? 13,800 ? ???? ?? ? Aurora Replica? 7.27 ?? ? ??
?? ?? ??? MySQL 5.6 ? ?? 2,000 ? ???? ?? ? ~2? ??
Read Replica ?? (console screenshot)
v	
 ?v	
 ?
	
 ?-?©\	
 ?	
 ?	
 ?	
 ?
	
 ?10	
 ?	
 ?
	
 ?20	
 ?	
 ?
	
 ?30	
 ?	
 ?
	
 ?40	
 ?	
 ?
	
 ?50	
 ?	
 ?
	
 ?60	
 ?	
 ?
	
 ?70	
 ?	
 ?
	
 ?10	
 ?	
 ? 	
 ?100	
 ?	
 ? 	
 ?1,000	
 ?	
 ? 	
 ?10,000	
 ?	
 ?
Thousands	
 ?of	
 ?writes	
 ?per	
 ?second	
 ?
Number	
 ?of	
 ?tables	
 ?
Write	
 ?performance	
 ?and	
 ?table	
 ?count	
 ?
Aurora	
 ? MySQL	
 ?on	
 ?I2.8XL	
 ?
MySQL	
 ?on	
 ?I2.8XL	
 ?with	
 ?RAM	
 ?Disk	
 ? RDS	
 ?MySQL	
 ?with	
 ?30,000	
 ?IOPS	
 ?(Single	
 ?AZ)	
 ?
Tables	
 ? Amazon	
 ?Aurora	
 ?
MySQL	
 ?
I2.8XL	
 ?
local	
 ?SSD	
 ?
MySQL	
 ?
I2.8XL	
 ?
RAM	
 ?disk	
 ?
RDS	
 ?MySQL	
 ?
30K	
 ?IOPS	
 ?
(single	
 ?AZ)	
 ?
	
 ?10	
 ?	
 ? 	
 ?60,000	
 ?	
 ? 	
 ?18,000	
 ?	
 ? 	
 ?22,000	
 ?	
 ? 	
 ?25,000	
 ?	
 ?
	
 ?100	
 ?	
 ? 	
 ?66,000	
 ?	
 ? 	
 ?19,000	
 ?	
 ? 	
 ?24,000	
 ?	
 ? 	
 ?23,000	
 ?	
 ?
	
 ?1,000	
 ?	
 ? 	
 ?64,000	
 ?	
 ? 	
 ?7,000	
 ?	
 ? 	
 ?18,000	
 ?	
 ? 	
 ?8,000	
 ?	
 ?
	
 ?10,000	
 ?	
 ? 	
 ?54,000	
 ?	
 ? 	
 ?4,000	
 ?	
 ? 	
 ?8,000	
 ?	
 ? 	
 ?5,000	
 ?	
 ?
Write-only workload
1,000 connections
Query cache (default on for Amazon Aurora, off for MySQL)
Amazon Aurora? ??? ?? ?? ?? ???
v	
 ?v	
 ?
	
 ?-?©\	
 ?	
 ?	
 ?	
 ?
	
 ?20	
 ?	
 ?
	
 ?40	
 ?	
 ?
	
 ?60	
 ?	
 ?
	
 ?80	
 ?	
 ?
	
 ?100	
 ?	
 ?
	
 ?120	
 ?	
 ?
	
 ?50	
 ?	
 ? 	
 ?500	
 ?	
 ? 	
 ?5,000	
 ?	
 ?
Thousands	
 ?of	
 ?writes	
 ?per	
 ?second	
 ?
Concurrent	
 ?connec1ons	
 ?
Write	
 ?performance	
 ?and	
 ?concurrency	
 ?
Aurora	
 ? RDS	
 ?MySQL	
 ?with	
 ?30,000	
 ?IOPS	
 ?(Single	
 ?AZ)	
 ?
Connec1ons	
 ? Amazon	
 ?Aurora	
 ?
RDS	
 ?MySQL	
 ?
30K	
 ?IOPS	
 ?(single	
 ?
AZ)	
 ?
	
 ?50	
 ? 	
 ?40,000	
 ? 10,000	
 ?
500	
 ?	
 ? 71,000	
 ? 21,000	
 ?
5,000	
 ?	
 ? 110,000	
 ? 13,000	
 ?
OLTP Workload
Variable connection count
250 tables
Query cache (default on for Amazon Aurora, off for MySQL)
Amazon Aurora? ???? ?? ??
v	
 ?v	
 ?
??? ?? ?? ??
	
 ?-?©\	
 ?	
 ?	
 ?	
 ?
	
 ?50	
 ?	
 ?
	
 ?100	
 ?	
 ?
	
 ?150	
 ?	
 ?
	
 ?200	
 ?	
 ?
	
 ?250	
 ?	
 ?
	
 ?300	
 ?	
 ?
	
 ?350	
 ?	
 ?
	
 ?400	
 ?	
 ?
100/0	
 ? 50/50	
 ? 0/100	
 ?
Thousands	
 ?of	
 ?opera1ons	
 ?per	
 ?second	
 ?
Read/write	
 ?ra1o	
 ?
Performance	
 ?with	
 ?query	
 ?cache	
 ?on	
 ?and	
 ?o?	
 ?
Aurora	
 ?without	
 ?Caching	
 ?
Aurora	
 ?with	
 ?Caching	
 ?
RDS	
 ?MySQL;30,000	
 ?IOPS	
 ?(Single	
 ?AZ)	
 ?-?©\	
 ?without	
 ?caching	
 ?
RDS	
 ?MySQL;30,000	
 ?IOPS	
 ?(Single	
 ?AZ)	
 ?-?©\	
 ?with	
 ?caching	
 ?
R/W	
 ?ra1o	
 ?
Amazon	
 ?Aurora	
 ?
without	
 ?caching	
 ?
Amazon	
 ?Aurora	
 ?	
 ?
with	
 ?	
 ?
caching	
 ?
RDS	
 ?MySQL	
 ?
30K	
 ?IOPS	
 ?
without	
 ?caching	
 ?
RDS	
 ?MySQL	
 ?
30K	
 ?IOPS	
 ?
with	
 ?
caching	
 ?
	
 ?100/0	
 ? 	
 ?160,000	
 ? 375,000	
 ? 35,000	
 ? 19,000	
 ?
50/50	
 ?	
 ? 130,000	
 ? 93,000	
 ? 	
 ?24,000	
 ?	
 ? 20,000	
 ?
	
 ?0/100	
 ?	
 ? 	
 ?64,000	
 ?	
 ? 64,000	
 ? 16,000	
 ? 16,000	
 ?
OLTP workload
1,000 connections
250 tables
Query cache on/off tested
v	
 ?v	
 ?
2.6	
 ? 3.4	
 ? 3.9	
 ? 5.4	
 ?
1,000	
 ? 2,000	
 ? 5,000	
 ? 10,000	
 ?
0	
 ?
50,000	
 ?
100,000	
 ?
150,000	
 ?
200,000	
 ?
250,000	
 ?
300,000	
 ?
350,000	
 ?
Updates	
 ?per	
 ?second	
 ?
Read	
 ?replica	
 ?lag	
 ?in	
 ?milliseconds	
 ?
Read	
 ?replica	
 ?lag	
 ?
Aurora	
 ? RDS	
 ?MySQL;30,000	
 ?IOPS	
 ?(Single	
 ?AZ)	
 ?
Updates	
 ?per	
 ?
second	
 ?
Amazon	
 ?	
 ?
Aurora	
 ?
RDS	
 ?MySQL	
 ?
30K	
 ?IOPS	
 ?(single	
 ?
AZ)	
 ?
	
 ?1,000	
 ? 2.62	
 ?ms	
 ? 0	
 ?s	
 ?
2,000	
 ? 3.42	
 ?ms	
 ? 1	
 ?s	
 ?
5,000	
 ? 3.94	
 ?ms	
 ? 60	
 ?s	
 ?
10,000	
 ? 5.38	
 ?ms	
 ? 300	
 ?s	
 ?
Write workload
250 tables
Query cache on for Amazon Aurora, off for MySQL (best
settings)
??? ?? 400? ?? ??
v	
 ?v	
 ?
Amazon Aurora ?? ???? ??? ??
?? https://d0.awsstatic.com/product-marketing/Aurora/
RDS_Aurora_Performance_Assessment_Benchmarking_v1-2.pdf
./sysbench --test=tests/db/oltp.lua
--mysql-host=<rds-aurora-
instancehost-name>
--oltp-tables-count=250 --mysql-
user=<db-username> --
mysqlpassword=<db-password>
--mysql-port=3306 --db-driver=mysql
--oltp-tablesize=25000
--mysql-db=<db-name> --max-requests=0
--max-time=600 --
oltp_simple_ranges=0 --oltp-distinct-
ranges=0 --oltp-sum-ranges=0 --
oltporder-ranges=0
--oltp-point-selects=0 --num-
threads=1000 --randtype=uniform
run
v	
 ?v	
 ?
BINLOG	
 ? DATA	
 ? DOUBLE-?©\WRITE	
 ?LOG	
 ? FRM	
 ?FILES	
 ?
T Y P E 	
 ? O F 	
 ? W R I T E 	
 ?
MYSQL WITH STANDBY
Issue	
 ?write	
 ?to	
 ?EBS	
 ?¨C	
 ?EBS	
 ?issues	
 ?to	
 ?mirror,	
 ?ack	
 ?when	
 ?both	
 ?done	
 ?
Stage	
 ?write	
 ?to	
 ?standby	
 ?instance	
 ?using	
 ?DRBD	
 ?
Issue	
 ?write	
 ?to	
 ?EBS	
 ?on	
 ?standby	
 ?instance	
 ?
IO FLOW
Steps	
 ?1,	
 ?3,	
 ?5	
 ?are	
 ?sequen6al	
 ?and	
 ?synchronous	
 ?
This	
 ?ampli?es	
 ?both	
 ?latency	
 ?and	
 ?jifer	
 ?
Many	
 ?types	
 ?of	
 ?writes	
 ?for	
 ?each	
 ?user	
 ?opera6on	
 ?
Have	
 ?to	
 ?write	
 ?data	
 ?blocks	
 ?twice	
 ?to	
 ?avoid	
 ?torn	
 ?writes	
 ?
	
 ?
OBSERVATIONS
780K	
 ?transac6ons	
 ?
7,388K	
 ?I/Os	
 ?per	
 ?million	
 ?txns	
 ?(excludes	
 ?mirroring,	
 ?standby)	
 ?
Average	
 ?7.4	
 ?I/Os	
 ?per	
 ?transac6on	
 ?
PERFORMANCE
30	
 ?minute	
 ?SysBench	
 ?write-?©\only	
 ?workload,	
 ?100	
 ?GB	
 ?data	
 ?set,	
 ?RDS	
 ?SingleAZ,	
 ?30K	
 ?PIOPS	
 ?
EBS	
 ?mirror	
 ?EBS	
 ?mirror	
 ?
AZ	
 ?1	
 ? AZ	
 ?2	
 ?
Amazon S3
EBS	
 ?
Amazon	
 ?Elas6c	
 ?Block	
 ?
Store	
 ?(EBS)	
 ?
Primary	
 ?
instance	
 ?
Standby	
 ?
instance	
 ?
1	
 ?
2	
 ?
3	
 ?
4	
 ?
5	
 ?
??? ? ?? ???? ¨C RDS MySQL I/O ???
v	
 ?v	
 ?
AZ	
 ?1	
 ? AZ	
 ?3	
 ?
Primary	
 ?
instance	
 ?
Amazon S3
AZ	
 ?2	
 ?
Replica	
 ?
instance	
 ?
AMAZON AURORA
ASYNC	
 ?
4/6	
 ?QUORUM	
 ?
DISTRIBUTED	
 ?
WRITES	
 ?
BINLOG	
 ? DATA	
 ? DOUBLE-?©\WRITE	
 ?LOG	
 ? FRM	
 ?FILES	
 ?
T Y P E 	
 ? O F 	
 ? W R I T E 	
 ?
30	
 ?minute	
 ?SysBench	
 ?write-?©\only	
 ?workload,	
 ?100	
 ?GB	
 ?data	
 ?set	
 ?
IO FLOW
Only	
 ?write	
 ?redo	
 ?log	
 ?records;	
 ?all	
 ?steps	
 ?asynchronous	
 ?
No	
 ?data	
 ?block	
 ?writes	
 ?(checkpoint,	
 ?cache	
 ?replacement)	
 ?
6X	
 ?more	
 ?log	
 ?writes,	
 ?but	
 ?9X	
 ?less	
 ?network	
 ?tra?c	
 ?
Tolerant	
 ?of	
 ?network	
 ?and	
 ?storage	
 ?outlier	
 ?latency	
 ?
	
 ?
	
 ?
OBSERVATIONS
27,378K	
 ?transac6ons	
 ? 	
 ? 	
 ? 	
 ? 	
 ?35X	
 ?	
 ?	
 ?MORE	
 ?
950K	
 ?I/Os	
 ?per	
 ?1M	
 ?txns	
 ?(6X	
 ?ampli?ca6on)	
 ?7.7X	
 ?	
 ?LESS	
 ?
PERFORMANCE
Boxcar	
 ?redo	
 ?log	
 ?records	
 ?¨C	
 ?fully	
 ?ordered	
 ?by	
 ?LSN	
 ?
Shu?e	
 ?to	
 ?appropriate	
 ?segments	
 ?¨C	
 ?par6ally	
 ?ordered	
 ?
Boxcar	
 ?to	
 ?storage	
 ?nodes	
 ?and	
 ?issue	
 ?writes	
 ?
??? ? ?? ???? ¨C RDS Aurora I/O ???
v	
 ?v	
 ?
LOG	
 ?RECORDS	
 ?
Primary	
 ?
instance	
 ?
INCOMING	
 ?QUEUE	
 ?
STORAGE	
 ?NODE	
 ?
S3	
 ?BACKUP	
 ?
1	
 ?
2	
 ?
3	
 ?
4	
 ?
5	
 ?
6	
 ?
7	
 ?
8	
 ?
UPDATE	
 ?	
 ?
QUEUE	
 ?
ACK	
 ?
HOT	
 ?
LOG	
 ?
DATA	
 ?
BLOCKS	
 ?
POINT	
 ?IN	
 ?TIME	
 ?
SNAPSHOT	
 ?
GC	
 ?
SCRUB	
 ?
COALESCE	
 ?
SORT	
 ?
GROUP	
 ?
PEER-?©\TO-?©\PEER	
 ?GOSSIP	
 ?Peer	
 ?
storage	
 ?
nodes	
 ?
All	
 ?steps	
 ?are	
 ?asynchronous	
 ?
Only	
 ?steps	
 ?1	
 ?and	
 ?2	
 ?are	
 ?in	
 ?foreground	
 ?latency	
 ?path	
 ?
Input	
 ?queue	
 ?is	
 ?46X	
 ?less	
 ?than	
 ?MySQL	
 ?(unampli?ed,	
 ?per	
 ?node)	
 ?
Favor	
 ?latency-?©\sensi6ve	
 ?opera6ons	
 ?
Use	
 ?disk	
 ?space	
 ?to	
 ?bu?er	
 ?against	
 ?spikes	
 ?in	
 ?ac6vity	
 ?
	
 ?
	
 ?
OBSERVATIONS
IO FLOW
¢Ù?Receive	
 ?record	
 ?and	
 ?add	
 ?to	
 ?in-?©\memory	
 ?queue	
 ?
¢Ú?Persist	
 ?record	
 ?and	
 ?ACK	
 ?	
 ?
¢Û?Organize	
 ?records	
 ?and	
 ?iden6fy	
 ?gaps	
 ?in	
 ?log	
 ?
¢Ü?Gossip	
 ?with	
 ?peers	
 ?to	
 ??ll	
 ?in	
 ?holes	
 ?
¢Ý?Coalesce	
 ?log	
 ?records	
 ?into	
 ?new	
 ?data	
 ?block	
 ?versions	
 ?
¢Þ?Periodically	
 ?stage	
 ?log	
 ?and	
 ?new	
 ?block	
 ?versions	
 ?to	
 ?S3	
 ?
¢ß?Periodically	
 ?garbage	
 ?collect	
 ?old	
 ?versions	
 ?
¢à?Periodically	
 ?validate	
 ?CRC	
 ?codes	
 ?on	
 ?blocks	
 ?
	
 ?
??? ? ?? ???? ¨C RDS Aurora I/O ???
v	
 ?
Amazon Aurora ???? ? ??
v	
 ?v	
 ?
RDS Aurora ?? ? ?????? 
RDS
???
??
?Amazon
?Aurora
???
?????
?
??
?RDS
?????
???
?
?
?? ??
?? ?? (MySQL)
?? ?? (RDS MySQL)
?? ?? (non-MySQL)
v	
 ?
v	
 ?
v	
 ?
v	
 ?
v	
 ?
v	
 ?
v	
 ?v	
 ?
RDS Aurora ?? ? ?????? 
?? ??
?? ?? (MySQL)
?? ?? (RDS MySQL)
?? ?? (non-MySQL)
DB on
instance
RDS Aurora
instance
PostgreSQLPostgreSQLAurora	
 ?
mysqldump	
 ?/	
 ?mysqlimport	
 ?
?? MySQL
???
?Aurora
????
????
????
?????
?
?????
?mysqldump
?utility

More Related Content

AWS Aurora 100% ????

  • 1. v ? ??????? ???, ???? ???? 2015? 11? 28? MySQL PowerGroup 2015? 3? ?? Amazon Aurora 100% ????
  • 3. v ?v ? AWS Database ??? ?? DynamoDB ? Amazon ?RDS ? Amazon ?Redshi3 ? Elas6Cache ?
  • 4. v ? ?? ??? ?????? ?? Aurora, MySQL, MariaDB, PostgreSQL, Oracle, SQL Server ?? ?? ??? ??? Amazon RDS Aurora RDS ??? ?????? ?? ??
  • 5. v ?v ? ??? ?? ?? ?? ?? ??? ?????? ?? ? ?? ?? ?? ????? ????? ???? ????? ?? ????? ???? ?? Amazon RDS ??? ?? ?? Focus ?your ? team ?here ? Let ?AWS ? focus ?here ?
  • 6. v ?v ? RDS ?????? ???? ?? ?? ?????? ???? ?? ?? CPU ??? ??? ?? ??? ???? ?? ?? ??? ?? ??? ? ?? ??? ?? ?? ?????? ???? ?? ?? ?? / Provisioned IOPS / ???? ??? ??? ???? ?? ?? ??? ?? ?? ?? ??? ??
  • 7. v ?v ? RDS ?? ?? Automated backups ?? Restore your database to a point in time ?? Enabled by default ?? Choose a retention period, up to 35 days ?? Manual snapshots ?? Initiated by you ?? Persist until you delete them ?? Stored in Amazon Simple Storage Service (Amazon S3) ?? Build a new database instance from a snapshot when needed
  • 8. v ?v ? Multi-AZ ??? ?? ???? Enterprise-grade fault tolerance solution for production databases
  • 9. v ? ?? ? ??? ??? ?? ??? ?? ?? Copy a database snapshot to a different AWS Region ?? Warm standby for disaster recovery ?? Or use it as a base for migration to a different region
  • 10. v ?v ? ??? ?? ??? ?? ?? ? ?????? ?? Even faster recovery in the event of disaster ?? Bring data close to your customers ?? Promote to a master for easy migration
  • 11. v ? ??? ??????? ??? Amazon Aurora
  • 12. v ?v ? Amazon RDS for Aurora ?? Amazon Aurora? MySQL ?? ??? ?????? ?? ?? Aurora? ?? ??????? 10?? 1 ???? MySQL?? ? ? 5? ??? ??? ?? ?? 3 ????? ?? 6?? ??? ???? ???? ?? ?? Amazon S3? ????? ???? ?? ?? ?? ? 15? Amazon Aurora Replicas ?? 10GB?? 64TB?? ???? ?? ?? ?? ?? : Virginia, Oregon, Ireland ? Tokyo
  • 13. v ?v ? Amazon Aurora ?? ?? ??? ?? ????? ?? ?? ?? ? ???? ????, ? ?-???, ???-??, ??? ??? ???? ???? ?? ? ?? ?? ?? ??? ??? EC2, VPC, DynamoDB, SWF, Route 53 ? AWS ?? ??? ?? ?? ?? ??? ??? Amazon S3 ?? Logging ?+ ?Storage ? SQL ? Transac1ons ? Caching ? Control ?Plane ?Data ?Plane ? Amazon S3 DynamoDB Amazon SWF Amazon Route 53
  • 15. v ?v ? ??? ?????? ?? ?? ? ? ?? ?????? ?? ?? ???? ?? ?? ??-?? ?? ?? ?? Amazon S3 ?? ?? ?? ?? ?? ?? ? ???? Amazon ?RDS ?
  • 16. v ?v ? ??? ???? ?? ?? ?? ??? ???? ¨C ??? ?? ?? ?? ??? ??? ?? ?? ¨C ?? ?? ?? ?? Amazon S3? ??, ?? ?? ?? ?? 64TB?? ?? ???? ?? ?? ¨C ??, ??? ?? ?? ?? ???? ??????, ?? ??, ??? ??, ???
  • 17. v ?v ? ??? ?? ?? ?? ?? ? ??? ?? AES-256 ? ???? ?? ?? ??? ? S3 ? ?? ???? ??? ?? AWS KMS ? ?? ? ?? ?? ?? ? ??? ¨C SSL ?? Amazon VPC? ?? ???? ?? ?? ??? ?? ?? ?? ?? ?? ??? ?? ? ??? ?? ??? ?? Storage ? SQL ? Transac1ons ? Caching ? Amazon S3 Applica1on ?
  • 19. v ?v ? Amazon Aurora? ???? ?? ?? ???? ?? 3????? 6-way ?? ?? 4 / 6 ??, 3 / 6 ?? ?? ?? S3 ???? ?? ?? ?? SSD, ???-??, ??-?? ? ???? ?? ??? ???? ?? ?? ?? 64TB ?? ?? ?????? ?? ?? ??-?? ?? ???? SQL ? Transac1ons ? AZ ?1 ? AZ ?2 ? AZ ?3 ? Caching ? Amazon S3
  • 20. v ?v ? ???? ?? ?? ? ?? ??? ?? ?? ?? ??, ??, ?? ?? 2?? ?? ? 1? ?? ?? ??? ?? ? ?? ???? ?? ?? ?? 3?? ?? ???? ?? ???? ?? ?? SQL ? Transac6on ? AZ ?1 ? AZ ?2 ? AZ ?3 ? Caching ? SQL ? Transac6on ? AZ ?1 ? AZ ?2 ? AZ ?3 ? Caching ? Read ?and ?write ?availability ? ?Read ?availability ? ?
  • 21. v ?v ? Amazon Aurora? ???? ?? ? ?? ?? ??(Automated Backup) ?? RDS? ??? ???? ?? ?? ?? DB ????? ???? ??? ?? ?? ?? ??(Backup Retention Period) ?? ??? ?? (1~35?) ?? ?? ? ?? ?? ?? ?? ? ?? ?? ?? ??? (DB Snapshots) ?? ???? ??? ?? ?? ??? ??? ?? ?? ?? ?? ?? ?? ?? ?? ?? ????? ?? ??
  • 22. v ?v ? Amazon Aurora? ???? ?? ? ?? ?? (Restore) ?? ?? ?? ??????? ?? Aurora DB ???? ?? ?? ?? ?? ?? ? ?? ????? ? ? ?? Latest Restorable Time : ?? 5? ?? ?? Earliest Restorable Time : ?? ?? ?? ?? Aurora Backup? ??, ?? ???? ?? ?? ??? ?? ??? ??? ??? ? ?? ??
  • 23. v ?v ? Amazon Aurora Replica? ?? ?? MySQL ?? ?? ?? ??? ??? ??? ?? ?? ??? ???? ???? ?? ?? ?? ??? ?? ?? ???? ? ??? ?? ?? ?? Page ?cache ? invalida6on ? Aurora Master ? 30% ?Read ? 70% ?Write ? Aurora ?Replica ? 100% ?New ?Reads ? Shared ?Mul1-?©\AZ ?Storage ? MySQL Master ? 30% ?Read ? 70% ?Write ? MySQL ?Replica ? 30% ?New ?Reads ? 70% ?Write ? Single ?threaded ? binlog ?apply ? Data ?Volume ? Data ?Volume ? Amazon Aurora ?? ?? ?? ?? ?? ?? ?? ??? ?? ??, ?? 15? ?? ?? ~100 ms ?? ?? ?? ?? ????? ???? ???? ? ??? ?? ??
  • 24. v ?v ? Amazon Aurora? ???? ?? ??-?? ?? ?? ?? ?? ?? ?? ??? ? ?? ????? ?? ?? DB ???? ????? ????, ?? ?? ????? DNS ??? ?? ?? ????? 1? ??? ?? AZ ?1 ? Primary ? instance ? Replica ? instance ? Replica ? instance ? Replica ? instance ? Shared ?Mul1-?©\AZ ?Storage ? Automa6c ? Failover ?to ? Replica ?Instance ? AZ ?1 ? Primary ? instance ? Primary ? instance ? Shared ?Mul1-?©\AZ ?Storage ? Create ?new ? primary ?Instance ? Aurora Replica? ?? ?? Aurora Replica? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??? ? DB ???? ?? ?? ?? ?? ?? ? ?? ?? ??? ?? DB ??? ? ?? ?? ?? ????? 15? ??? ?? AZ ?3 ?AZ ?2 ?AZ ?3 ?AZ ?2 ? Primary ? instance ?
  • 25. v ?v ? Amazon Aurora? ???? ?? ??-?? ??-?©\?? ? 1? ?? ?
  • 26. v ??? ?????? ?? Have to replay logs since the last checkpoint ?? 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 Checkpointed ?Data ? Redo ?Log ? Crash ?at ?T0 ?requires ? a ?re-?©\applica6on ?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 ? ??? ??? ??
  • 27. v ?v ? ?? ?? ?? We moved the cache out of the database process ?? Cache remains warm in the event of a database restart ?? Lets you resume fully loaded operations much faster ?? Instant crash recovery + survivable cache = quick and easy recovery from DB failures SQL ? Transac1ons ? Caching ? SQL ? Transac1ons ? Caching ? SQL ? Transac1ons ? Caching ? Caching ?process ?is ?outside ?the ?DB ?process ? ? and ?remains ?warm ?across ?a ?database ?restart ?
  • 28. v ?v ? ?? ???? ?? ??? ???? Failure ?Detec6on ? DNS ?Propaga6on ? Recovery ? Recovery ? App ? running ? DB ? Failure ? Failure ?Detec6on ? Recovery ? App ? running ? DB ? Failure ? ? ? DNS ?Propaga6on ?
  • 29. v ?v ? SQL ?? ?? ????? ?? ?? To ?cause ?the ?failure ?of ?a ?component ?at ?the ?database ?node: ? ALTER SYSTEM CRASH [{INSTANCE | DISPATCHER | NODE}]? ?? To ?simulate ?the ?failure ?of ?disks: ? ALTER SYSTEM SIMULATE percent_failure DISK failure_type IN [DISK index | NODE index] FOR INTERVAL interval ?? To ?simulate ?the ?failure ?of ?networking: ? ALTER SYSTEM SIMULATE percent_failure NETWORK failure_type [TO {ALL | read_replica | availability_zone}] FOR INTERVAL interval
  • 31. v ?v ? ?? MySQL Sysbench ?? R3.8XL - 32 vCPU ? 244 GB RAM ?? 4 ????? - ? 1,000 ??? ?? ?? (console screenshot)
  • 32. v ?v ? ?? MySQL Sysbench ?? R3.8XL - 32 vCPU ? 244 GB RAM ?? 1 ????? - ? 1,000 ??? ?? ?? (console screenshot)
  • 33. v ?v ? ?? ?? 13,800 ? ???? ?? ? Aurora Replica? 7.27 ?? ? ?? ?? ?? ??? MySQL 5.6 ? ?? 2,000 ? ???? ?? ? ~2? ?? Read Replica ?? (console screenshot)
  • 34. v ?v ? ?-?©\ ? ? ? ? ?10 ? ? ?20 ? ? ?30 ? ? ?40 ? ? ?50 ? ? ?60 ? ? ?70 ? ? ?10 ? ? ?100 ? ? ?1,000 ? ? ?10,000 ? ? Thousands ?of ?writes ?per ?second ? Number ?of ?tables ? Write ?performance ?and ?table ?count ? Aurora ? MySQL ?on ?I2.8XL ? MySQL ?on ?I2.8XL ?with ?RAM ?Disk ? RDS ?MySQL ?with ?30,000 ?IOPS ?(Single ?AZ) ? Tables ? Amazon ?Aurora ? MySQL ? I2.8XL ? local ?SSD ? MySQL ? I2.8XL ? RAM ?disk ? RDS ?MySQL ? 30K ?IOPS ? (single ?AZ) ? ?10 ? ? ?60,000 ? ? ?18,000 ? ? ?22,000 ? ? ?25,000 ? ? ?100 ? ? ?66,000 ? ? ?19,000 ? ? ?24,000 ? ? ?23,000 ? ? ?1,000 ? ? ?64,000 ? ? ?7,000 ? ? ?18,000 ? ? ?8,000 ? ? ?10,000 ? ? ?54,000 ? ? ?4,000 ? ? ?8,000 ? ? ?5,000 ? ? Write-only workload 1,000 connections Query cache (default on for Amazon Aurora, off for MySQL) Amazon Aurora? ??? ?? ?? ?? ???
  • 35. v ?v ? ?-?©\ ? ? ? ? ?20 ? ? ?40 ? ? ?60 ? ? ?80 ? ? ?100 ? ? ?120 ? ? ?50 ? ? ?500 ? ? ?5,000 ? ? Thousands ?of ?writes ?per ?second ? Concurrent ?connec1ons ? Write ?performance ?and ?concurrency ? Aurora ? RDS ?MySQL ?with ?30,000 ?IOPS ?(Single ?AZ) ? Connec1ons ? Amazon ?Aurora ? RDS ?MySQL ? 30K ?IOPS ?(single ? AZ) ? ?50 ? ?40,000 ? 10,000 ? 500 ? ? 71,000 ? 21,000 ? 5,000 ? ? 110,000 ? 13,000 ? OLTP Workload Variable connection count 250 tables Query cache (default on for Amazon Aurora, off for MySQL) Amazon Aurora? ???? ?? ??
  • 36. v ?v ? ??? ?? ?? ?? ?-?©\ ? ? ? ? ?50 ? ? ?100 ? ? ?150 ? ? ?200 ? ? ?250 ? ? ?300 ? ? ?350 ? ? ?400 ? ? 100/0 ? 50/50 ? 0/100 ? Thousands ?of ?opera1ons ?per ?second ? Read/write ?ra1o ? Performance ?with ?query ?cache ?on ?and ?o? ? Aurora ?without ?Caching ? Aurora ?with ?Caching ? RDS ?MySQL;30,000 ?IOPS ?(Single ?AZ) ?-?©\ ?without ?caching ? RDS ?MySQL;30,000 ?IOPS ?(Single ?AZ) ?-?©\ ?with ?caching ? R/W ?ra1o ? Amazon ?Aurora ? without ?caching ? Amazon ?Aurora ? ? with ? ? caching ? RDS ?MySQL ? 30K ?IOPS ? without ?caching ? RDS ?MySQL ? 30K ?IOPS ? with ? caching ? ?100/0 ? ?160,000 ? 375,000 ? 35,000 ? 19,000 ? 50/50 ? ? 130,000 ? 93,000 ? ?24,000 ? ? 20,000 ? ?0/100 ? ? ?64,000 ? ? 64,000 ? 16,000 ? 16,000 ? OLTP workload 1,000 connections 250 tables Query cache on/off tested
  • 37. v ?v ? 2.6 ? 3.4 ? 3.9 ? 5.4 ? 1,000 ? 2,000 ? 5,000 ? 10,000 ? 0 ? 50,000 ? 100,000 ? 150,000 ? 200,000 ? 250,000 ? 300,000 ? 350,000 ? Updates ?per ?second ? Read ?replica ?lag ?in ?milliseconds ? Read ?replica ?lag ? Aurora ? RDS ?MySQL;30,000 ?IOPS ?(Single ?AZ) ? Updates ?per ? second ? Amazon ? ? Aurora ? RDS ?MySQL ? 30K ?IOPS ?(single ? AZ) ? ?1,000 ? 2.62 ?ms ? 0 ?s ? 2,000 ? 3.42 ?ms ? 1 ?s ? 5,000 ? 3.94 ?ms ? 60 ?s ? 10,000 ? 5.38 ?ms ? 300 ?s ? Write workload 250 tables Query cache on for Amazon Aurora, off for MySQL (best settings) ??? ?? 400? ?? ??
  • 38. v ?v ? Amazon Aurora ?? ???? ??? ?? ?? https://d0.awsstatic.com/product-marketing/Aurora/ RDS_Aurora_Performance_Assessment_Benchmarking_v1-2.pdf ./sysbench --test=tests/db/oltp.lua --mysql-host=<rds-aurora- instancehost-name> --oltp-tables-count=250 --mysql- user=<db-username> -- mysqlpassword=<db-password> --mysql-port=3306 --db-driver=mysql --oltp-tablesize=25000 --mysql-db=<db-name> --max-requests=0 --max-time=600 -- oltp_simple_ranges=0 --oltp-distinct- ranges=0 --oltp-sum-ranges=0 -- oltporder-ranges=0 --oltp-point-selects=0 --num- threads=1000 --randtype=uniform run
  • 39. v ?v ? BINLOG ? DATA ? DOUBLE-?©\WRITE ?LOG ? FRM ?FILES ? T Y P E ? O F ? W R I T E ? MYSQL WITH STANDBY Issue ?write ?to ?EBS ?¨C ?EBS ?issues ?to ?mirror, ?ack ?when ?both ?done ? Stage ?write ?to ?standby ?instance ?using ?DRBD ? Issue ?write ?to ?EBS ?on ?standby ?instance ? IO FLOW Steps ?1, ?3, ?5 ?are ?sequen6al ?and ?synchronous ? This ?ampli?es ?both ?latency ?and ?jifer ? Many ?types ?of ?writes ?for ?each ?user ?opera6on ? Have ?to ?write ?data ?blocks ?twice ?to ?avoid ?torn ?writes ? ? OBSERVATIONS 780K ?transac6ons ? 7,388K ?I/Os ?per ?million ?txns ?(excludes ?mirroring, ?standby) ? Average ?7.4 ?I/Os ?per ?transac6on ? PERFORMANCE 30 ?minute ?SysBench ?write-?©\only ?workload, ?100 ?GB ?data ?set, ?RDS ?SingleAZ, ?30K ?PIOPS ? EBS ?mirror ?EBS ?mirror ? AZ ?1 ? AZ ?2 ? Amazon S3 EBS ? Amazon ?Elas6c ?Block ? Store ?(EBS) ? Primary ? instance ? Standby ? instance ? 1 ? 2 ? 3 ? 4 ? 5 ? ??? ? ?? ???? ¨C RDS MySQL I/O ???
  • 40. v ?v ? AZ ?1 ? AZ ?3 ? Primary ? instance ? Amazon S3 AZ ?2 ? Replica ? instance ? AMAZON AURORA ASYNC ? 4/6 ?QUORUM ? DISTRIBUTED ? WRITES ? BINLOG ? DATA ? DOUBLE-?©\WRITE ?LOG ? FRM ?FILES ? T Y P E ? O F ? W R I T E ? 30 ?minute ?SysBench ?write-?©\only ?workload, ?100 ?GB ?data ?set ? IO FLOW Only ?write ?redo ?log ?records; ?all ?steps ?asynchronous ? No ?data ?block ?writes ?(checkpoint, ?cache ?replacement) ? 6X ?more ?log ?writes, ?but ?9X ?less ?network ?tra?c ? Tolerant ?of ?network ?and ?storage ?outlier ?latency ? ? ? OBSERVATIONS 27,378K ?transac6ons ? ? ? ? ?35X ? ? ?MORE ? 950K ?I/Os ?per ?1M ?txns ?(6X ?ampli?ca6on) ?7.7X ? ?LESS ? PERFORMANCE Boxcar ?redo ?log ?records ?¨C ?fully ?ordered ?by ?LSN ? Shu?e ?to ?appropriate ?segments ?¨C ?par6ally ?ordered ? Boxcar ?to ?storage ?nodes ?and ?issue ?writes ? ??? ? ?? ???? ¨C RDS Aurora I/O ???
  • 41. v ?v ? LOG ?RECORDS ? Primary ? instance ? INCOMING ?QUEUE ? STORAGE ?NODE ? S3 ?BACKUP ? 1 ? 2 ? 3 ? 4 ? 5 ? 6 ? 7 ? 8 ? UPDATE ? ? QUEUE ? ACK ? HOT ? LOG ? DATA ? BLOCKS ? POINT ?IN ?TIME ? SNAPSHOT ? GC ? SCRUB ? COALESCE ? SORT ? GROUP ? PEER-?©\TO-?©\PEER ?GOSSIP ?Peer ? storage ? nodes ? All ?steps ?are ?asynchronous ? Only ?steps ?1 ?and ?2 ?are ?in ?foreground ?latency ?path ? Input ?queue ?is ?46X ?less ?than ?MySQL ?(unampli?ed, ?per ?node) ? Favor ?latency-?©\sensi6ve ?opera6ons ? Use ?disk ?space ?to ?bu?er ?against ?spikes ?in ?ac6vity ? ? ? OBSERVATIONS IO FLOW ¢Ù?Receive ?record ?and ?add ?to ?in-?©\memory ?queue ? ¢Ú?Persist ?record ?and ?ACK ? ? ¢Û?Organize ?records ?and ?iden6fy ?gaps ?in ?log ? ¢Ü?Gossip ?with ?peers ?to ??ll ?in ?holes ? ¢Ý?Coalesce ?log ?records ?into ?new ?data ?block ?versions ? ¢Þ?Periodically ?stage ?log ?and ?new ?block ?versions ?to ?S3 ? ¢ß?Periodically ?garbage ?collect ?old ?versions ? ¢à?Periodically ?validate ?CRC ?codes ?on ?blocks ? ? ??? ? ?? ???? ¨C RDS Aurora I/O ???
  • 42. v ? Amazon Aurora ???? ? ??
  • 43. v ?v ? RDS Aurora ?? ? ?????? RDS
  • 44. ???
  • 45. ??
  • 48. ???
  • 49. ?????
  • 50. ? ??
  • 51. ?RDS
  • 52. ?????
  • 53. ???
  • 54. ?
  • 55. ? ?? ?? ?? ?? (MySQL) ?? ?? (RDS MySQL) ?? ?? (non-MySQL)
  • 56. v ?
  • 57. v ?
  • 58. v ?
  • 59. v ?
  • 60. v ?
  • 61. v ?
  • 62. v ?v ? RDS Aurora ?? ? ?????? ?? ?? ?? ?? (MySQL) ?? ?? (RDS MySQL) ?? ?? (non-MySQL) DB on instance RDS Aurora instance PostgreSQLPostgreSQLAurora ? mysqldump ?/ ?mysqlimport ? ?? MySQL
  • 63. ???
  • 65. ????
  • 66. ????
  • 67. ????
  • 69. ?????
  • 72. ???
  • 73. ??
  • 74. ????
  • 78. ???
  • 79. ???
  • 80. ????
  • 81. ???
  • 82. ?
  • 83. v ?v ? RDS Aurora ?? ? ?????? ?? ?? ?? ?? (MySQL) ?? ?? (RDS MySQL) ?? ?? (non-MySQL) RDS MySQL instance RDS Aurora instance PostgreSQLPostgreSQLAurora ? Snapshot ?migra6on ? ?? MySQL
  • 84. ?v5.6
  • 85. ?:
  • 86. ?RDS
  • 87. ?DB
  • 91. ?v5.6
  • 92. ???
  • 93. ?:
  • 94. ?DB
  • 96. ??
  • 97. ?DB
  • 98. ????
  • 101. v ?
  • 102. v ?
  • 103. v ?
  • 104. v ?
  • 105. v ?v ? RDS Aurora ?? ? ?????? ?? ?? ?? ?? (MySQL) ?? ?? (RDS MySQL) ?? ?? (non-MySQL) ?? RDS
  • 107. ?Tool?
  • 108. ?????
  • 111. ??
  • 112. ?EC2
  • 113. ?DB
  • 114. ??
  • 115. ?RDS?
  • 116. ?????
  • 117. ???
  • 118. ????
  • 119. ??
  • 121. ?load
  • 122. ??
  • 124. ?Data
  • 127. ?DB
  • 128. ???
  • 129. ???
  • 130. ?(?:MS
  • 131. ?SQL
  • 132. ?to
  • 135. ??
  • 136. ?AMI
  • 137. ???
  • 138. ? RDS instance RDS Aurora instance PostgreSQLPostgreSQLAurora ? RDS ? ? migra6on ?tool ? OracleMS SQLPostgreSQLPostgreSQL
  • 139. v ?
  • 140. v ?
  • 141. v ?
  • 142. v ?
  • 143. v ?
  • 144. v ?
  • 145. v ?
  • 146. v ? AWS Database Migration Service ??
  • 147. v ? Start ?your ??rst ?migra.on ?in ?10 ?minutes ?or ?less Keep ?your ?apps ?running ?during ?the ?migra.on Replicate ?within, ?to ?or ?from ?Amazon ?EC2 ?or ?RDS Move ?data ?to ?the ?same ?or ?di?erent ?database ?engine ? Sign ?up ?for ?preview ?at ?aws.amazon.com/dms AWS Database Migration Service
  • 148. v ?v ? 10 minutes or less to migration
  • 149. v ?v ? Customer Premises Application Users AWS Internet VPN ? ?? Start a replication instance ?? Connect to source and target databases ?? Select tables, schemas, or databases Let AWS Database Migration Service create tables, load data, and keep them in sync Switch applications over to the target at your convenience Keep your apps running during the migration AWS Database Migration Service
  • 150. v ?v ? After migration, use for replication and data integration ?? Replicate data in on-premises databases to AWS ?? Replicate OLTP data to Amazon Redshift ?? Integrate tables from third-party software into your reporting or core OLTP systems ?? Hybrid cloud is a stepping stone in migration to AWS
  • 151. v ?v ? MySQL PowerGroup ??? ?? Aurora Credit
  • 152. v ?v ? MySQL PowerGroup ??? ?? AWS Credit http://bit.ly/awskr-feedback AWS Activate ??? 100?? ?? ??? + 80 ?? Qwiklab Credit 600?? ??? ?? ???+ 100?? 1?? ???? ??? ????? ???? ??? ? ?? URL? ???? ??????!