🌍
Amazon Aurora Limitless Databaseについてまとめていく
これはなに?
Amazon Aurora Limitless Databaseについて調べつつ、メモしていくものです。
誤りが含まれている可能性があります。
2024/05/21時点での情報であり、かつ、執筆途中です
Amazon Aurora Limitless Databaseの特徴
- 書き込み性能のスケールアウト / スケールインが可能
- 最大n millions/sec の書き込みトランザクションに対応可能
- ペタバイト級のデータを管理可能
- エンドポイントが一つ
- Read/Writeでエンドポイントを使い分ける必要がなく、DB shard group endpointへのリクエストを、Transaction RoutersがAurora WriterやShardsに振り分けてくれる
- フルマネージドなシャーディング機能
Amazon Aurora Limitless Databaseの制限事項
- 限定プレビューの段階であり、一般利用不可・公式ドキュメントなし
- PostgreSQL互換版のみ
- Partitionは非サポート
- ユースケースがないという判断らしい
- シャードに対するグローバルなインデックスは不可
- DBごと(ノードごと?)らしい
- 対応するextensionが少ない
- (情報源未確認)
Amazon Aurora Limitless Databaseを支える主要技術
- Grover
- 独自のストレージエンジン
- 3つのAZに2つずつ分散して書き込み、可用性向上
- Caspian
- 独自のハイパーバイザ
- 無停止でのスケールアップ / スケールダウンを可能にする
-
Amazon Time Sync Service
- サービス自体は既存で、時刻同期のサービス
- 新たに、Precision Time Protocol(PTP)に対応し、NTPより高精度なマイクロ秒単位での時刻同期が可能
- NTPは、ミリ秒単位での時刻同期
Amazon Aurora Limitless Databaseが適しているユースケース
- Auroraでは対応できないような大規模なワークロード
- n millions/secの書き込みトランザクションを捌きたい
- ペタバイト級のデータを管理したい
Amazon Aurora Limitless Databaseが適さないユースケース
- 小規模なワークロード
- シャーディング等のオーバーヘッドで性能劣化することもあるかもしれない
- コストを抑えたい
- 高機能な分、Limitless DatabaseはAuroraよりも高単価。
フルマネージドなシャーディング機能
「テーブルモード」という概念が導入され、テーブルごとにシャーディング対象かどうかなどが指定できる。テーブルモードは、rds_aurora.limitless_create_table_mode
で指定する。指定できるテーブルモードは以下の4つ。
- Sharded:シャーディング対象のテーブルであることを示す
- Sharded(co-located):"Sharded" と同じシャードに配置したい対象テーブル
- 自分の理解だと、「分割されたテーブルの断片」を「シャード」、「(複数の)シャードを持ち、シャードごとのクエリ処理を行うもの」を「ノード(または、ワーカ)」と呼んでいるイメージであったが、Limitless Databaseの資料では、「(複数の)シャードを持ち、シャードごとのクエリ処理を行うもの」を「シャード」と呼んでいるように見える
- Reference:すべてのシャードにコピーして配置されるテーブル。例えば、"Sharded"のテーブルとよくjoinするようなテーブルを"Reference"に指定することで、オーバーヘッドの低減を図ることができる
- Standard:シャーディング対象でない通常のテーブル
参考資料
- Amazon Aurora Limitless Databaseの発表
- Embracing the Future of Database Management: Amazon Aurora Limitless Database
- 新機能!Amazon Aurora Limitless Database とは
- 真のサーバーレスへ向けたAuroraの進化 Aurora Limitless Database - Speaker Deck
- re:invent 2023参加報告: Amazon Aurora Limitless Database - Sansan Tech Blog
- db tech showcase 2023 まとめ (29ページ目) - Togetter
-
Amazon Aurora Limitless Databaseが解決する課題とそのアーキテクチャについて
嬉しいことに現地で「Amazon Aurora Limitless Database」と似たようなアーキテクチャをApache ShardingSphere-Proxyを使って構築したセッションを聞くことができました。
Discussion