Slide 1

Slide 1 text

RDS/Aurora アップデート(2024 年版) JAWS-UG 名古屋 12 月会 AWS re:Invent2024 Recap & 忘年会 2024/12/27 まつひさ(hmatsu47)

Slide 2

Slide 2 text

自己紹介 松久裕保(@hmatsu47) ● https://qiita.com/hmatsu47 ● Web インフラのお守り係をしています ● 普段は JAWS-UG 名古屋(・浜松)で DB ネタを中心 に話しています(主に RDS / Aurora・たまに DynamoDB) ● 2025/2/1(土)に BuriKaigi2025(富山県立大)でベクターストア 2025/2/22(土)に PHP カンファレンス名古屋 2025(名古屋駅・ ウインクあいち)で MySQL 8.4 以降の話をします 2

Slide 3

Slide 3 text

自己紹介 松久裕保(@hmatsu47) ● https://qiita.com/hmatsu47 ● Web インフラのお守り係をしています ● 普段は JAWS-UG 名古屋(・浜松)で DB ネタを中心 に話しています(主に RDS / Aurora・たまに DynamoDB) ● 2025/2/1(土)に BuriKaigi2025(富山県立大)でベクターストア 2025/2/22(土)に PHP カンファレンス名古屋 2025(名古屋駅・ ウインクあいち)で MySQL 8.4 以降の話をします 3

Slide 4

Slide 4 text

re:Invent 2024 RDS/Aurora 関連アップデート ● 今年はこれだけ? ○ Aurora DSQL(プレビュー) ● 強いてあげるとすれば ○ RDS Performance Insights オンデマンド分析のリージョン追加 ■ 全商用リージョンへ ○ Bedrock ナレッジベースで Aurora PostgreSQL ベクターストア (pgvector)のクイック作成サポート 4

Slide 5

Slide 5 text

Aurora DSQL(プレビュー) ● シングルリージョン/マルチリージョン大規模分散 DB ○ リレーショナルモデルと SQL が使用可能 ○ ワークロードに合わせて自動でスケール(UP / DOWN) ○ PostgreSQL ワイヤープロトコル互換・SQL(一部)互換 ○ アクティブ/アクティブ構成(非シャーディング・マルチ Writer) ○ Firecracker と Time Sync Service を活用 5

Slide 6

Slide 6 text

シングルリージョン構成(可用性 99.99%) 6 引用元 : https://aws.amazon.com/jp/blogs/news/introducing-amazon-aurora-dsql/ Transaction log layer が追加 された

Slide 7

Slide 7 text

マルチリージョン構成(可用性 99.999%) 7 引用元 : https://aws.amazon.com/jp/blogs/news/introducing-amazon-aurora-dsql/ Witness Region がある (リージョンクラスター間調停・ 障害リージョンのデータ修復) Google Cloud の Spanner の マルチリージョン構成には、 DSQL と同様に独立したリー ジョンを Witness にする構成 と、デュアルリージョンで各 リージョンの 1 ゾーンに Witness 機能を置く構成があ る。

Slide 8

Slide 8 text

参考:Aurora PostgreSQL Limitless Database 8 引用元 : https://aws.amazon.com/jp/blogs/news/amazon-aurora-postgresql-limitless-database-is-now-generally-available/ 前段のルーター層でコマンド/ クエリをシャードに振り分ける 各シャードでデータを分割管理 する (テーブルの種類によってデータの 配置は異なる) Limitless Database はシャーディング によってデータと負荷を分散するので テーブル設計が難しい (Spanner も内部はシャーディング構成で データを自動的に分割している)

Slide 9

Slide 9 text

シャーディングを使わずにスケールするために ● 楽観的同時実行制御(OCC)を採用 ○ ロックを使わない ■ コミット時に他のトランザクションとの更新競合を検知したらアボート ○ ロックしないので他のトランザクションを待たせることがない ■ ただし更新競合が頻発するとアプリケーションの性能が下がる欠点がある  → OCC については昨日のコラボスタイル re:Cap 会の発表資料で説明 9

Slide 10

Slide 10 text

注意点 ● 長いトランザクションには向かない ○ あくまでも更新競合が少ないトランザクション向け ● リトライはアプリケーションで実装する必要がある ● 分散 DB に向かない機能は実装されていない ○ 連番(SERIAL)、外部キー制約など 10

Slide 11

Slide 11 text

その他、RDS/Aurora 以外の DB アップデートより ● DynamoDB Global Tables マルチリージョン強整合性 ○ 公開プレビュー ● Oracle Database@AWS ○ 限定プレビュー 11

Slide 12

Slide 12 text

Oracle Cloud ✖ AWS といえば ● すでに HeatWave (MySQL) on AWS が提供されている ○ 列指向の HeatWave エンジン搭載 MySQL マネージドサービス ■ 集計・分析クエリに強い ● ただし契約方法が異なる模様 ○ Oracle Database@AWS はマーケットプレイス ○ HeatWave (MySQL) on AWS は Oracle Cloud の契約が別途必要 ■ Oracle Cloud の契約をするのは面倒だが、為替レートがある程度長い期間固 定される運用になっているので、円安局面では有利になるメリットも 12

Slide 13

Slide 13 text

期間外の RDS/Aurora アップデートより(1/2) ● Aurora PostgreSQL Limitless Database が GA(前掲) ○ 10/31 発表 ● Aurora Serverless v2 が 0ACU までの縮小をサポート ○ 11/20 発表 ● DMS を使用した EC2 データベースの RDS への自動移行 ○ 11/20 発表 13

Slide 14

Slide 14 text

期間外の RDS/Aurora アップデートより(2/2) ● RDS Blue/Green デプロイの強化 ○ ストレージ縮小、ストレージ事前暖機、RDS for PostgreSQL の マイナー Ver.UP 対応 ● RDS Proxy が caching_sha2_password 認証をサポート ○ 12/19 発表 ■ RDS for MySQL 8.4(LTS)に対応 14