本記事で言及している Amazon Aurora Limitless Database は 2023/12/25 時点で Preview の機能です。運用環境での使用は推奨されません。また将来的に動作や仕様が変更される可能性があります。
はじめに
AWS re:Invent 2023で発表されたAuroraの新機能「Amazon Aurora Limitless Database 」を使う側の目線でご紹介します。
color is【クラウドLT大会vol.6】大型アップデート祭りで発表したセッションの内容に、時間の関係で話せなかった内容を加えて記事化したものです。
セッション資料
Amazon Auroraとは?
- AWSが開発した独自のRDBエンジンで、RDSのひとつ
- 2種類の互換DBを選択可能
- MySQL
- PostgreSQL
- 高機能高性能
- 通常の5倍のパフォーマンス
- 最大128TBのストレージ
- 最大15台のリードレプリカ
- マルチAZでデータ保存し高い耐障害性
…でしたが、今回の新機能でさらにパワーアップしました!
Limitless Databaseとは?
「AWS re:Invent 2023」で発表されたAuroraの新機能!
- 既存のProvisioned、ServerlessV1、ServerlessV2に加えた4つ目の新たな稼働方式
- 書き込み性能をスケールアウト/スケールインすることができる
- 1秒あたり数百万件の書き込みトランザクションに対応
- ペタバイト単位のデータを管理できる
- 現在はまだPostgreSQL互換のみを限定プレビュー
- 一般には利用不可
- 公式ドキュメントも未公開
私も限定プレビューへ申し込みましたが、まだ利用できていません。従って本記事の内容は一部推測が含まれますのでご了承ください
従来方式との違い
スケールアウト、アケールアップが無停止で可能になり、真のサーバレスに!
さらに、1つのエンドポイントで利用可能!
従来は書き込み用と読み取り用でエンドポイントが分かれていたが、1つのエンドポイントでオートスケーリングできるように改善されました。
- 従来の稼働方式
- 今回のLimitless Database
分散管理「シャーディング」
データを「シャード」という単位で分割管理する仕組み
- 複数のシャード(ノード)に分散してデータを書き込みすることでスケールアウトを実現
- シャードは通常、ユーザが管理するのは難しいがLimitless Databaseにより完全マネージド化
使い方(インスタンス作成)
クラスターにシャードグループを追加する方式
- 従来通りコンソールまたはAPIでAuroraクラスターを作成
- DBシャードグループ(Limitless Database)を追加
使い方(テーブル作成)
セッションパラメータでテーブルのモードを指定
Limitless Databaseを実現する内部の技術
内部では下記3つの技術で分散管理の複雑さを完全マネージド化しています。
利用する際には意識しませんが、ソフトウェア/ハードウェア両面ですごい技術を駆使していますので少しだけ紹介させてください。
-
Grover
-
Caspian
-
Amazon Time Sync Service
ユースケース
大規模なトランザクションで有効
- 1秒あたり数百万の書き込みトランザクションを処理し、ペタバイト単位のデータを管理できるため、今までAuroraで対応できなかった大規模なデータベースワークロードを1つのデータベースで利用可能
- 逆に小さすぎるワークロードではシャーディング等のオーバーヘッドで適さない可能性あり
- これだけの高機能であるため、現行のAurora Serverlessよりも高単価となり、性能特性と費用対効果で使い分けることになると推測します
- 移行の方法としては既存のクラスタに追加でき、従来のエンドポイントが残るのであれば、下記で容易に実現できるのではないかと思います。
- 現行のクラスタにLimitless Databaseを追加
- アプリ側のエンドポイントを切り替え
- 従来のインスタンスを削除
まとめ
Amazon Aurora Limitless Databaseは、AWSで今まで対応できなかった大規模なワークロードのRDBに対応できるようになりました。
テーブル作成DDLへのシャーディング設定等、使う上での考慮事項は多々ありそうです。
公式ドキュメントが発表されたら制約を熟読してどんどん使っていきましょう!
参考サイト
-
AWS re:Invent 2023 - Monday Night Live Keynote with Peter DeSantis
https://www.youtube.com/watch?v=pJG6nmR7XxI -
AWS re:Invent 2023 - [LAUNCH] Achieving scale with Amazon Aurora Limitless Database (DAT344)
https://www.youtube.com/watch?v=a9FfjuVJ9d8 -
Amazon Web Services ブログ 「Amazon Aurora Limitless Database のプレビューが公開」
https://aws.amazon.com/jp/blogs/news/join-the-preview-amazon-aurora-limitless-database/