Slide 1

Slide 1 text

新機能! Amazon Aurora Limitless Database とは 2023/12/20 株式会社セゾン情報システムズ 坪井 千春 1 クラウドLT大会 vol.6

Slide 2

Slide 2 text

自己紹介 名前: 坪井 千春 所属: 株式会社セゾン情報システムズ 仕事: アーキテクト、CCoE 好きなAWSサービス: Amazon ECS(Amazon Elastic Container Service) 経歴: ・SIerとしてJAVAメインのアプリ開発を19年 ・直近6年程度AWSを利用 ・2022年4月からアプリを離れてAWSエンジニアとして活動 2

Slide 3

Slide 3 text

アジェンダ 3 1. Limitless Databaseとは? 2. 従来方式との違い 3. 分散管理「シャーディング」 4. 使い方 5. Limitless Databaseを 実現する技術 6. ユースケース 7. まとめ

Slide 4

Slide 4 text

Amazon Auroraとは? • AWSが開発した独自のRDBエンジンで、RDSのひとつ • 2種類の互換DBを選択可能 • MySQL • PostgreSQL • 高機能高性能 • 通常の5倍のパフォーマンス • 最大128TBのストレージ • 最大15台のリードレプリカ • マルチAZでデータ保存し高い耐障害性 4 …でした

Slide 5

Slide 5 text

Limitless Databaseとは? 「AWS re:Invent 2023」で発表されたAuroraの新機能! 5 • 既存のProvisioned、ServerlessV1、ServerlessV2に加えた新たな稼働方式 • 書き込みをスケールアウト/スケールインすることができる • 1秒あたり数百万件の書き込みトランザクションに対応 • ペタバイト単位のデータを管理できる • 現在はまだPostgreSQL互換のみを限定プレビュー (一般には利用不可、公式ドキュメントも未公開)

Slide 6

Slide 6 text

従来方式との違い 無停止で書き込みもスケールアウトが可能に! 6 • 数百万/秒のトランザクションを処理できる • ペタバイト単位のデータを管理できる 比較項目 Provisioned Serverless v1 Serverless v2 Limitless Database オートスケール イン/アウト Write × × × 〇 Read 〇 リードレプリカ × 〇 リードレプリカ 〇 オートスケール アップ/ダウン Write × 〇 〇 〇 Read × 〇 〇 〇 最大データ容量 128TiB 128TiB 128TiB ペタバイト単位 NEW!

Slide 7

Slide 7 text

従来方式との違い 一つのエンドポイントでスケーリング可能 7 • 従来は書き込み用と読み取り用でエンドポイントが分かれていたが、 1つのエンドポイントでオートスケーリングできるように改善 https://aws.amazon.com/jp/blogs/news/join-the-preview-amazon-aurora-limitless-database/ アプリ Write/Read Read Write転送 従来 Limitless Database アプリ Write/Read

Slide 8

Slide 8 text

分散管理「シャーディング」 データを「シャード」という単位で分割管理する仕組み 8 • 複数のノードに分散してデータを書き込みすることでスケールアウトを実現 • シャードは通常、ユーザが管理するのは難しいが完全マネージド化 https://www.youtube.com/watch?v=a9FfjuVJ9d8

Slide 9

Slide 9 text

使い方(インスタンス作成) クラスターにシャードグループを追加する方式 9 • 従来通りコンソールまたはAPIでクラスターを作成 • DBシャードグループ(Limitless Database)を追加 • Auroraキャパシティユニット(ACU)の最大値を選択可能 • 既存のクラスターにも追加できそう? https://aws.amazon.com/jp/blogs/news/join-the-preview-amazon-aurora-limitless-database/

Slide 10

Slide 10 text

使い方(テーブル作成) セッションパラメータでテーブルのモードを指定 10 • テーブル作成時にモードとキーの指定が必要 • Sharded: シャーディング対象テーブル • Sharded(co-located): Shardedと同じシャードに配置したい対象テーブル • Reference: 全てのシャードにコピーして配置されるテーブル • Standard: シャード管理されない通常のテーブル https://www.youtube.com/watch?v=a9FfjuVJ9d8

Slide 11

Slide 11 text

Limitless Databaseを実現する技術 3つの技術で分散管理の複雑さを完全マネージド化 11 Grover • Auroraストレージエンジン • 3つのAZへ2つずつ分散して書き込み Caspian • 新たに開発したハイパーバイザ • 無停止でスケールアップ/ダウンが可能に Amazon Time Sync Service • 既存の時刻同期サービス • 新たにPrecision Time Protocolに対応 • マイクロ秒以下の精度で同期が可能に https://www.youtube.com/watch?v=pJG6nmR7XxI

Slide 12

Slide 12 text

ユースケース 大規模なトランザクションで有効 12 • 1秒あたり数百万の書き込みトランザクションを処理し、ペタバイト 単位のデータを管理できるため、今までAuroraで対応できなかった 大規模なデータベースワークロードを1つのデータベースで利用可 能 • 逆に小さすぎるワークロードではシャーディング等のオーバーヘッ ドで適さない可能性あり • また、これだけの高機能であるため、現行のAurora Serverlessより も高単価となり、性能特性と費用対効果で使い分けることになると 推測

Slide 13

Slide 13 text

4.まとめ 13 Amazon Aurora Limitless Databaseは、AWSで今まで対応 できなかった大規模なワークロードのRDBに新たな選択肢 テーブル作成DDLへのシャーディング設定等、使う上での 考慮事項は多々ありそう 公式ドキュメントが発表されたら制約を熟読してどんど ん使っていきましょう!