More Related Content Similar to DBワークロードのAWS化とデータベースサービス関連最新情報 (20) More from Amazon Web Services Japan (20) DBワークロードのAWS化とデータベースサービス関連最新情報2. 1
本日の内容
• 既存RDBMSをアマゾン ウェブ サービス(AWS)上の
EC2(仮想マシン/セルフマネージド)、あるいは
RDS/Redshift(マネージド型DBサービス)に移行する
メリットやその手法
• AWSのマネージド型DBサービスについての最新情報
17. 16
8GB
16GB
32GB
64GB
128GB
244GB
4core 8core 16core 32core
r3.8xl
2core1core
r3.4xl
r3.2xl
r3.xl
r3.large
m4.2xl
m4.xl
m4.large
4GB
t2.small
t2.micro
m4はm3に変わる標準インスタンス
r3はメモリを多めに搭載したインスタンス
t2はt1に代わる小規模用インスタンス
t2.large
※DBエンジンによって使用できるインスタンスの種類が異なります
※図には記載していない旧世代インスタンスも選択可能です
t2.medium
m4.4xl
m4.10xl160GB
40core
RDSインスタンスのバリエーション
19. 18
リードレプリカ(RR)機能
• 読み取り専用のレプリカDB
– Aurora, MySQL, PostgreSQLに対応
– Auroraは15台、MySQLとPostgreSQLは5台まで増設
可能
– RRのディスクタイプやインスタンスタイプをソース
とは異なるタイプに変更可能
• 想定ユースケース
– 読み取りのスケーリング、BI等の解析処理の分散
– マルチAZによる耐障害性の代替ではない
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html リードレプリカ
APP
APP
2APP
APP
読み書き
ワークロード
読み取り
ワークロード
20. 19
Amazon Redshift
• 特徴 (http://aws.amazon.com/jp/redshift/)
– 160GBから最大2PBまで拡張可能
– 超並列(MPP)、カラムナ型DBエンジンによ
る高速処理
– 他のAWSサービスとの高い親和性
– 従来のデータウェアハウスの1/10のコスト
• 価格体系 (http://aws.amazon.com/jp/redshift/pricing/)
– インスタンスタイプに応じ、1時間単位(イ
ンスタンスにはストレージを内蔵)
– バックアップストレージは利用量に応じて
フルマネージドのデータウェアハウスサービス
10Gb Ether
JDBC/ODBC
Redshift 大規模分散処理
で分析SQLを
高速実行
28. 27
DB移行の手法 - その前に確認すべきこと
• 移行データサイズ
• 許容可能なダウンタイム
• AWSとのネットワーク速度
• 通信経路暗号化の必要性
– SCP、VPN、専用線
– ZIPファイルの暗号化…
サイズと時間。サイズが小
さく、時間が長い方が、移
行方法の選択肢が多くなる
移行元-AWS間通信中の
暗号化方法
33. 32
AWS Schema Conversion Tool(SCT)
• 異なるRDB間での各種オブジェクトの移行(変換)を補助
するツール
• Windows, Mac, Linux にダウンロードして利用
• 稼動OSは64bit版のみサポート
• ODBCで接続。SSLサポートあり
• ソースコード内のSQL分析に対応
• 移行対象:
• 表、インデックス、トリガー、プロシージャ、制約、ビュー
36. 35
Schema Conversion Toolがサポートする組み合わせ
2016/11/18 更新
OLTP 変換
DWH変換
※補足)MySQLからAuroraへの移行の場合、
(SCTを使わなくても)MySQLのバックアップ
イメージからAuroraへ移行することが可能です。
http://docs.aws.amazon.com/ja_jp/Amazon
RDS/latest/UserGuide/Aurora.Migrate.html
https://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/Welcome.html
38. 37
Schema Conversion Tool(SCT)のまとめ
• SCTでDDLを移行し、DMSでデータを移行する
• SCTはDML移行を補助するツール
• SCTの変換が最適な形とは限らない
• 自動変換できないオブジェクトもある
• SCTで大まかな変換と、自動変換できない部分を抽出し...
• 生成されたDDLの最適化
• 自動変換出来なかった部分の修正 移行担当者の作業
39. 38
AWS Database Migration Service(DMS)
• RDBの移行を支援するサービス
• セットアップ・利用が容易
• 使った分だけの安価な費用
• 異種エンジン間のデータ移行にも対応
• 低負荷で継続的なレプリケーション DMS
オンプレミ
ス
RDB
RDS
RDB on
EC2
オンプレミ
ス
RDB
RDS
RDB on
EC2
※オンプレ to オンプレは未サポート
特に異機種間データベースの移行や連携
基盤としての利用に強み
※DMSの詳細は以下の資料を参照してください
http://www.slideshare.net/AmazonWebServicesJapan/black-belt-
online-seminar-aws-amazon-rds
42. 41
サポートするデータベース
ソース ターゲット SSL接続
Oracle on-pre/EC2 10g(10.2以降), 11g, 12c Ent/SE/SE1/SE2 10g, 11g, 12c Ent/SE/SE1/SE2
n/a
RDS 11g(※1), 12c Ent/SE/SE1/SE2 11g(※1), 12c Ent/SE/SE1/SE2
MySQL on-pre/EC2/RDS 5.5, 5.6, 5.7 5.5, 5.6, 5.7 ○
PostgreSQL on-pre/EC2 9.4以降 9.3以降
○
RDS 9.4以降 (※4) 9.3以降
SQL Server on-pre/EC2 2005, 2008, 2008R2, 2012, 2014, 2016
Ent, Std, Workgroup, Developer
2005, 2008, 2008R2, 2012, 2014, 2016
Ent, Std, Workgroup, Developer
○
RDS 2008R2, 2012, 2014, 2016 Ent, Std,
Workgroup, Developer (※2)
2008R2, 2012, 2014,2016 Ent, Std,
Workgroup, Developer
Aurora RDS MySQL互換としてサポート MySQL互換としてサポート ○
MariaDB on-pre/EC2/RDS MySQL互換としてサポート MySQL互換としてサポート ○
Redshift (ソースとしてはサポート無し) ターゲットDBとしてサポート n/a
SAP ASE
(Sybase ASE)
on-pre/EC2 15.7以降 15.7以降 (※3)
n/a
※1:11.2.0.3.v1以降
※2:CDC利用不可
※3:日本語データを含む場合は15.7 SP121以降
※4:RDSでは9.4.9以降もしくは9.5.4以降
2016年10月5日更新
45. P o s t g r e S Q L F o r A u r o r a
Aurora is now fully compatible with
both PostgreSQL and MySQL
46. 1/10th The Cost Of
Commercial Grade
Databases
Fully PostgreSQL
Compatible
Several times better
performance than typical
PostgreSQL database
Scalable,
Durable and Secure
Migrate From
RDS For PostgreSQL
Amazon Aurora PostgreSQL-Compatible Edition
47. 46
Amazon Aurora
PostgreSQL-Compatible Editionを発表
• PostgreSQL 9.6.1互換のAmazon Auroraを発表
– PostgreSQL対応を望むお客様からのご要望に基づく
• チェック制約、マテリアライズドビュー、シーケンス、ウィンドウ関数
• ハッシュ結合、ソート・マージ結合
• プロシージャ、日付書式などの互換性
• PostGIS(地理空間情報)
– RDS for PostgreSQLと同様の機能をサポート予定
– RDS for PostgreSQLのスナップショットからの移行をサポート
• バージニアリージョンでプレビューを開始
– https://pages.awscloud.com/amazon-aurora-with-postgresql-
compatibility-preview-form.html
48. 47
SQL
Transactions
AZ 1 AZ 2 AZ 3
Caching
Amazon S3
• MySQL互換のAuroraと同じストレージ
システムを採用
• SSDを利用し、最大64TBまでシームレス
にスケール
• リードレプリカが同じストレージを参照
する構造をもち、レプリカラグを最小化
• 3AZに各2つ(合計6つ)にデータを複製
– 2つで障害が起きても読み書き可能
– 3つで障害が起きても読み込み可能
• 継続的にS3へ増分バックアップを実施
パフォーマンスへの影響はない
• 障害復旧やホットスポット管理、暗号化
といったタスクを自動的に実施
Amazon Aurora PostgreSQL-Compatible Edition
Auroraストレージの利点をそのまま活用
49. 48
• pgbench (TPC-B-Like) でRDS PostgreSQLの2倍の
最大スループットを実現
• 料金はMySQL互換のAuroraと同様
Amazon Aurora PostgreSQL-Compatible Edition
パフォーマンスと料金
53. 52
Online DDL: Aurora vs. MySQL
フルテーブルコピー: 全てのインデックスを
再構築 - 数時間から数日かかることも
DMLクエリ実行のために一時領域が必要
DDLクエリがDMLクエリスループットに影響
DMLクエリ実行中にテーブル・ロックが起こる
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
メタデータテーブルにエントリーを追加し、
スキーマバージョニングを利用する
変更を適用するために最新のスキーマへブロック
をアップグレードする際はmodify-on-write
現在はテーブルの最後にNullableなカラムを
追加する場合に対応
他のadd column, drop/reorder, modify
datatypesに対応するために実装を行っている
MySQL Amazon Aurora
54. 53
Online DDL performance
On r3.large
On r3.8xlarge
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
55. 54
Online Point in Time Restore
Online point in time restore はバックアップからリストアを行うこと無く、
データベースを特定の時点へ即座に戻す事が可能
• 意図しないDML/DDLの実行から即座にデータベースを元の状態に戻す
• 所望のデータベースの状態に戻すため複数回実行
• スキーマ変更を高速にリストアを行わずにイテレーションを行える
t0 t1 t2
t0 t1
t2
t3 t4
t3
t4
Rewind to t1
Rewind to t3
Invisible Invisible
57. 56
Aurora Auditing
MariaDB server_audit plugin Aurora native audit support
• We can sustain over 500K events/sec
Create event
string
DDL
DML
Query
DCL
Connect
DDL
DML
Query
DCL
Connect
Write
to
File
Create event
string
Create event
string
Create event
string
Create event
string
Create event
string
Latch-
free
queue
Write to
File
Write to
File
Write to
File
MySQL 5.7 Aurora
Audit Off 95K 615K 6.47x
Audit On 33K 525K 15.9x
Sysbench Select-only Workload on 8xlarge Instance
59. 58
Amazon Athenaを発表
• Amazon S3に置いたデータをインタラクティブに
SQLで直接クエリできるマネージドサービス
• データをS3から取り込む手間はない
• ペタバイト級のデータに対するクエリをサポート
• 標準のANSI-SQLでクエリを表現でき、JOINや
ウィンドウ関数もサポート
• バージニア、オレゴンのリージョンで利用可能
62. 61
他のBig Dataサービスとの使い分け
• Amazon Redshift
– 多くの結合や副問合せを含む非常に複雑なSQLで最も高速なパフォーマンスを提供
– 様々なデータソースからのデータを共通フォーマットで長期保存するようなケースに最適
• Amazon EMR
– 高度な分散処理フレームワークを簡単にコスト効率良く実行
– フレームワークやインスタンスおよびストレージのタイプの選択肢が広く、
分析要件に最適化した柔軟な構成が可能
– 機械学習、グラフ解析、データ変換などで非常に大きなデータを扱うようなケースに最適
• Amazon Athena
– サーバーの管理を行うことなく、S3のデータに対してアドホッククエリを
実行する最も簡単な方法を提供
– サイトの性能問題をトラブルシューティングするためにWebログに対して
一時的なクエリを実行するようなケースに最適
64. 63
Gunosy データ・サイエンティスト 阿部洋介氏
“Amazon S3 上のデータを直接クエリ処理して
いるのに、これまで使用してきたシステムよりも
高速にクエリ結果を得られたことに大変感銘を
受けています。
当社はワークロードを積極的にAWSに移行し、
今後、Amazon Athena を当社の
分析プラットフォームの中核に据えるつもりです
70. 69
参考情報
• Migrating Your Databases to Amazon Aurora (英語)
– https://d0.awsstatic.com/whitepapers/RDS/Migrating%20your%20databases%20to%20Amazon%20Aurora.pdf
• Amazon Aurora DB クラスターへのデータの移行
– https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Aurora.Migrate.html
• AWS Database Migration Service 解説
– http://www.slideshare.net/AmazonWebServicesJapan/black-belt-online-seminar-aws-amazon-rds
• RDBのAWSへの移行方法(Oracleを例に)
– http://www.slideshare.net/AmazonWebServicesJapan/20150728-rd-bmigrationpublic
• Oracle RDSにおけるデータ移行(マニュアル)
– http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html
• Strategies for Migrating Oracle Database to AWS
– AWSのホワイトペーパー(PDF)。具体的な作業内容が記載されています
– http://d0.awsstatic.com/whitepapers/strategies-for-migrating-oracle-database-to-aws.pdf
71. 70
参考情報
• Amazon Athena
– https://aws.amazon.com/jp/athena/
– https://aws.amazon.com/jp/athena/faqs/
• Amazon Aurora PostgreSQL-Compatible Edition
– https://aws.amazon.com/jp/blogs/news/amazon-aurora-update-
postgresql-compatibility/
• AWS Glue
– https://aws.amazon.com/jp/glue/
• AWS QuickSight
– https://quicksight.aws/
70
72. 71
補足情報:AWS Database Migration Service
• ホームページ
• https://aws.amazon.com/jp/dms/
• マニュアル
• https://aws.amazon.com/documentation/dms/
• FAQ
• http://aws.amazon.com/jp/dms/faqs/
• フォーラム
• https://forums.aws.amazon.com/forum.jspa?forumID=216
• re:Invent 2015での解説セッション(30分の動画)
• https://www.youtube.com/watch?v=JuUE5HZb2gs
73. 72
補足情報:AWS Schema Conversion Tool
• ホームページ
• http://aws.amazon.com/jp/dms/sct/
• マニュアル
• https://aws.amazon.com/jp/documentation/SchemaConversionTool/
• ダウンロード
• (上記マニュアルの"Install and Updating"より)
• フォーラム
• https://forums.aws.amazon.com/forum.jspa?forumID=208