Slide 1

Slide 1 text

RDS / Aurora 関連アップデート JAWS-UG 名古屋 AWS re:Invent2019 大復習(+忘年会)  2019/12/19 まつひさ(hmatsu47)

Slide 2

Slide 2 text

今回の RDS / Aurora 関連アップデートは… ● re:Invent 2019 での言及は少なかったみたい ○ たぶん RDS Outposts のプレビュー開始と RDS プロキシぐらい? ● re:Invent 2019 の直前にいくつか発表されている ○ 通称「re:Invent 落ち」?? ● とりあえず、11/19 以降 re:Invent 開催中までのアップデー トを RDS と Aurora に分けて並べてみました ○ 一部、「たまたまこの時期に出ただけ」のものも含みます 2

Slide 3

Slide 3 text

Amazon RDS Updates(2019/11/19~) ● Amazon RDS for Oracle で 2019 年 10 月 Oracle パッチセットの更新 (PSU) およびリリース更新 (RU) のサポー トを開始 ● Amazon RDS for SQL Server が、追加のインスタンスサイズをサポート開始 ● Amazon RDS for Oracle が、sqlnet.ora パラメータの ALLOWED_LOGON_VERSION_SERVER および ALLOWED_LOGON_VERSION_CLIENT をサポート開始 ● Amazon RDS for SQL Server でアウトバウンドネットワークアクセスがサポート可能に Amazon RDS Performance Insights で Amazon RDS for Oracle の SQL レベルメトリクスをサポート ● Amazon RDS for SQL Server が差分復元とログ復元をサポート ● Amazon RDS for SQL Server で 高可用性をサポートする AWS リージョンが新たに追加 ● Amazon RDS for SQL Server が X1 および X1e インスタンスタイプをサポート ● Amazon RDS for SQL Server からのログファイルを Amazon CloudWatch へ発行可能に ● Amazon RDS for PostgreSQL がマイナーバージョン 11.5 および 10.10 のサポートを開始し、AWS GovCloud (米国) リージョンに向けた Amazon RDS のトランスポータブルデータベース機能を追加 ● Amazon RDS for Oracle が、クロスリージョンリードレプリカと共に管理された災害対策およびデータ近接性のサ ポートを開始 ● Amazon RDS プロキシのご紹介 (プレビュー) ● Outposts での Amazon RDS がプレビュー版で利用可能に 3

Slide 4

Slide 4 text

● Amazon Aurora MySQL 5.7 は、サポートされる機能のリストを拡張して、パフォーマンスと管理性を改善 ● Amazon Aurora が新たなインスタンスサイズをサポート ● Amazon RDS Performance Insights が Amazon Aurora での PostgreSQL 互換 SQL レベルメトリクスをサポート ● Aurora Global Database が複数のセカンダリリージョンをサポート ● Aurora で Global Database へのインプレース変換が可能に ● Amazon Aurora MySQL 5.7 がゼロダウンタイムのパッチ修正に対応 ● Amazon Aurora (PostgreSQL 互換) で PostgreSQL 11.4 のサポートを開始 ● Amazon Relational Database Service (RDS) Data API Client Library が Java をサポート (プレビュー) ● Amazon Aurora がデータベースから機械学習を直接サポート ● Aurora Global Database が Amazon Aurora MySQL 5.7 でサポートされます ● Amazon RDS プロキシのご紹介 (プレビュー)※RDS 重複 Amazon Aurora Updates(2019/11/19~) 4

Slide 5

Slide 5 text

多すぎるので、4つだけピックアップ ● RDS プロキシ ○ Lambda から RDS / Aurora に接続するのに使えるやつ ● Aurora MySQL 5.7 互換版のパフォーマンスと管理性の改善 ○ やっと MySQL 5.6 互換版とほぼ同等の機能が使えるように ● Aurora PostgreSQL 11.4 互換版 ○ ひっそりと登場(本家から 1 年 1 ヶ月遅れ) ● Aurora Machine Learning ○ SQL で SageMaker と Comprehend が使える謎機能 5

Slide 6

Slide 6 text

[1-1] RDS プロキシ ● RDS / Aurora へのコネクションをプーリング ○ アプリケーションからプロキシへの接続は RDS への接続と同じ方法で ○ Secret Manager や IAM による認証も使える ○ フェイルオーバーが高速に ● Lambda からの接続に便利 ○ コネクション爆発をうまく受け止めてくれる ○ もちろん Lambda 以外からの接続も OK ● まだプレビュー ○ ただし公開プレビューなのですでに作れるようになってます ○ 機能はまだ少ないので今後に期待 6

Slide 7

Slide 7 text

[1-2] RDS プロキシ 7

Slide 8

Slide 8 text

[2] Aurora MySQL 5.7 互換版の改善 ● [パフォーマンス] ホット行の競合対策 ○ アクセスが集中している行(ホット行)に対する処理の改善 ● [パフォーマンス] ハッシュ結合 ○ 行数の多い等価結合の処理を高速化 ● [管理性] Lambda 関数の同期呼び出し ○ Lambda 関数を Aurora から lambda_sync 関数で呼び出し ● [管理性] Backtrack ○ 任意の時点へ高速に PITR ● MySQL 5.6 互換版とほぼ同等の機能性を(やっと)確保 8

Slide 9

Slide 9 text

[3-1] Aurora PostgreSQL 11.4 互換版 ● 去年(10.5 互換版・R4 インスタンス)と比較してみた ○ https://qiita.com/hmatsu47/items/28d53d8a246d841e1bba 9

Slide 10

Slide 10 text

[3-2] Aurora PostgreSQL 11.4 互換版 ● パーティショニングを試してみた ○ https://qiita.com/hmatsu47/items/28d53d8a246d841e1bba 10

Slide 11

Slide 11 text

[4-1] Aurora Machine Larning ● 試してみた(MySQL 5.7 互換版+Comprehend) 11

Slide 12

Slide 12 text

[4-2] Aurora Machine Larning ● 試してみた(MySQL 5.7 互換版+Comprehend) 12

Slide 13

Slide 13 text

[4-3] Aurora Machine Larning ● 試してみた(MySQL 5.7 互換版+Comprehend) 13

Slide 14

Slide 14 text

[4-4] Aurora Machine Larning ● 試してみた(MySQL 5.7 互換版+Comprehend) ○ クラスタパラメータグループ割り当て ○ NAT ゲートウェイ or パブリックアクセス有効化 ○ ルーティングテーブルでインターネットアクセス有効化 14

Slide 15

Slide 15 text

[4-5] Aurora Machine Larning ● 試してみた(MySQL 5.7 互換版+Comprehend) MySQL [mltest]> SELECT lyrics, -> aws_comprehend_detect_sentiment(lyrics, 'en') AS sentiment, -> aws_comprehend_detect_sentiment_confidence(lyrics, 'en') AS confidence -> FROM lyrics -> ORDER BY id; +------------------------------------------------------------------------------------------------------+-----------+--------------------+ | lyrics | sentiment | confidence | +------------------------------------------------------------------------------------------------------+-----------+--------------------+ | Jingle bells, jingle bells Jingle all the way, Oh, what fun it is to ride In a one-horse open sleigh | POSITIVE | 0.8357130289077759 | | Silent night, holy night All is calm, all is bright | POSITIVE | 0.9700412154197693 | +------------------------------------------------------------------------------------------------------+-----------+--------------------+ 2 rows in set (0.11 sec) 15

Slide 16

Slide 16 text

[4-6] Aurora Machine Larning ● これって必要? ○ アプリケーション的に「評価対象と評価が不可分」ならアリかも? ● そういえば、MySQL には… ○ UDF(関数)やストレージエンジンを自作して MySQL でケーキを焼い たり、エアコンの制御をしたり、初音ミクに歌わせたりする文化がある ○ 何のことかわからない人は去年と今年のアドカレを見て! ■ https://qiita.com/advent-calendar/2018/mysql-casual ■ https://qiita.com/advent-calendar/2019/mysql ● Aurora でも、AWS オレオレ関数を増やして色々やらせるのも 良いのかも? 16