はじめに
AWS re:Invent 2023に行ってきました!初の海外カンファレンス参加でとても刺激的で良い経験となりました。
今回のre:Inventで発表されたアップデートの中でも、個人的に興味深かった「Amazon Aurora Limitless Database」について紹介します。
従来のAmazon Aurora
従来のAmazon Auroraの読み込み性能をスケールするにはリードレプリカを追加して性能をスケールすることができました。しかし、書き込み性能をスケールするにはインスタンスサイズに制限を受けていました。
Amazon Aurora Limitless Databaseとは
今回のアップデートでは上記の課題を解決する「Amazon Aurora Limitless Database」が発表されました。
「Amazon Aurora Limitless Database」とは、自動化された水平スケーリングをサポートし、1秒あたり数百万もの書き込みトランザクションを処理する新機能です。
Amazon Aurora Limitless Databaseのアーキテクチャ
「Amazon Aurora Limitless Database Limitless」 Database のアーキテクチャは、以下の図の通りです。
複数のデータベースノード(トランザクションルーターとシャード) で構成される2層アーキテクチャです。
Ref: https://aws.amazon.com/jp/blogs/aws/join-the-preview-amazon-aurora-limitless-database/
公式のブログより
シャードは、それぞれがデータベースのデータのサブセットを保存する Aurora PostgreSQL DBインスタンスであり、並列処理により高い書き込みスループットを実現できます。トランザクションルーターはデータベースの分散性を管理し、単一のデータベースイメージをデータベースクライアントに提供します。
トランザクションルーターは、データの保存場所に関するメタデータを維持し、受信SQLコマンドを解析してそれらのコマンドをシャードに送信し、シャードからデータを集約して単一の結果をクライアントに返し、分散トランザクションを管理して分散データベース全体の一貫性を維持します。Limitless Databaseアーキテクチャを構成するすべてのノードは、DB シャードグループに含まれます。DBシャードグループには、Limitless Databaseリソースにアクセスするための別のエンドポイントがあります。
おわりに
嬉しいことに現地で「Amazon Aurora Limitless Database」と似たようなアーキテクチャをApache ShardingSphere-Proxyを使って構築したセッションを聞くことができました。こちらも今後調査していこうと思いました!