Aurora Update++
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
R
R
R
R
§
§
§
§
§
§
§
•
•
§
§
§
ノードFは疑わしい状態と認識されると、第2
のクォーラムグループがノードGを用いて作成され、両
方のクォーラムがアクティブ
ノードFはunhealthyであることが確認さ
れます。ノードGを持つ新しいクォーラムグループ
がアクティブになる
§
§
§
各データブロックに対して、クォーラムグループ内
の少なくとも4つのノードが最新のデータを持つ
これら4つのノードのいずれかから読み
取ると、最新のデータが返される
0
100000
200000
300000
400000
500000
600000
700000
0
50000
100000
150000
200000
250000
⾮同期で処理する
レイテンシーの通り道を減らす
ロックフリーなデータ構造を使う
バッチ操作を同時に⾏う
BE MORE EFFICIENT
データベースは I/O が全て
ネットワーク接続したストレージは PACKETS/SECOND が全て
⾼スループットの処理に コンテキストスイッチ は許されない
これらの結果をどう達成したか?
ステップ1, 3, 5はシーケンシャルかつ同期
それによりレイテンシーもパフォーマンスのゆらぎも増加
各ユーザー操作には様々な書き込みタイプがある
書き込み破損を避けるためにデータブロックを2回書く必要性
780K トランザクション
100万トランザクション当たり7,388K I/Os (ミラー, スタン
バイを除く)
平均1トランザクション当たり7.4 I/Os
30 minute SysBench write-only workload, 100 GB data set, RDS SingleAZ,
30K PIOPS
§ インスタンスはボリュームとして利用するため
すべてのストレージノードを開きます
§ Volume Complete LSN(VCL)は、すべての
レコードがクォーラムに達した最も高いポイン
トです
§ Consistency Point LSN (CPL)は、VCLより
も下位のコミット・レコードです
§ クラッシュリカバリ時に過去のすべてのCPLが
削除される
§ ストレージノードにまたがる各コミットで2PCの必要
性を排除
§ 処理のためにデータベースを開始前に、undoまた
はredo処理は必要ない
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
•
•
•
•
•
SEGMENT
SNAPSHOT
LOG
RECORDS
RECOVERY
POINT
SEGMENT 1
SEGMENT 2
SEGMENT 3
TIME
•
•
T0 T1 T2
T0 T1
T2
T3 T4
T3
T4
REWIND TO T1
REWIND TO T3
INVISIBLE INVISIBLE
MASTER
READ
REPLICA
READ
REPLICA
READ
REPLICA
SHARED DISTRIBUTED STORAGE VOLUME
READER END-POINT
INDEX
LEAFLEAFLEAF LEAF
INDEX
ROOT
table name operation column-name time-stamp
Table 1
Table 2
Table 3
add-col
add-col
add-col
column-abc
column-qpr
column-xyz
t1
t2
t3
MySQL Amazon Aurora
§
§
§
§
§
§
§
§
Aurora MySQL 5.6 MySQL 5.7
10GB table 0.27 sec 3,960 sec 1,600 sec
50GB table 0.25 sec 23,400 sec 5,040 sec
100GB table 0.26 sec 53,460 sec 9,720 sec
Aurora MySQL 5.6 MySQL 5.7
10GB table 0.06 sec 900 sec 1,080 sec
50GB table 0.08 sec 4,680 sec 5,040 sec
100GB table 0.15 sec 14,400 sec 9,720 sec
14.57
-
2.00
4.00
6.00
8.00
10.00
12.00
14.00
16.00
Query-1
Query-2
Query-3
Query-4
Query-5
Query-6
Query-7
Query-8
Query-9
Query-10
Query-11
Query-12
Query-13
Query-14
Query-15
Query-16
Query-17
Query-18
Query-19
Query-20
Query-21
Query-22
Cold buffer
1.78X
-
0.20
0.40
0.60
0.80
1.00
1.20
1.40
1.60
1.80
2.00
Query-1
Query-2
Query-3
Query-4
Query-5
Query-6
Query-7
Query-8
Query-9
Query-10
Query-11
Query-12
Query-13
Query-14
Query-15
Query-16
Query-17
Query-18
Query-19
Query-20
Query-21
Query-22
•
•
•
•
8.22
-
1.00
2.00
3.00
4.00
5.00
6.00
7.00
8.00
9.00
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• インスタンスを意識すること無く利⽤できる
Aurora Serverlessがプレビュー開始
• フルマネージド型なのでスケーリングやインス
タンスリプレースを意識する必要がなくなる
• 定時バッチ処理や、CMSのバックエンドなどア
クセスの少ないワークロードに最適。ハイス
ループットな場合は現状のAuroraがお勧め
• 2018年早々に詳細を発表予定。まずはMySQL
互換からで、PostgreSQL互換については別途
発表予定
§
§
§
§
§
§
§
§
§
§
§
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Amazon Auroraのクラスタを構成するすべて
のノードに対して読み書きが可能になるマルチ
マスタ機能のプレビューを開始
• アプリケーション側でノードのステータスに応
じた制御を⼊れれば、システムとしてゼロダウ
ンタイムなパッチ適⽤も視野に
• DBMS全体としてのスケーラビリティの向上が
期待できるが、本番適⽤時は性能試験の実施を
推奨
• 現時点ではリージョン内だが、2018年にはマ
ルチリージョンをサポート予定
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
§
§
•
•
•
•
§
§
§
§
§
§
§
§
§
§
§
§
§
§
§
§
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Aggregate + 2-table join
Aggregate query
Point query on non-indexed column
With Parallel Query Without Parallel Query

【IVS CTO Night & Day】Aurora Update++