BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Amazon Aurora DSQL:アクティブ・アクティブ高可用性な分散SQLデータベース

Amazon Aurora DSQL:アクティブ・アクティブ高可用性な分散SQLデータベース

原文リンク(2024-12-17)

先日ラスベガスで開催されたAWS re:Inventカンファレンスで、アマゾンはアクティブ・アクティブ高可用性を特徴とするサーバーレス分散SQLデータベースAurora DSQLのパブリックプレビューを発表した。このPostgreSQL互換の新しいデータベース・オプションは、AWSコミュニティ内で大きな興奮を呼び起こし、参加者からはカンファレンスの目玉発表として広く認識された。

Aurora DSQLは、無制限のスケーラビリティ、99.99%のシングルリージョン可用性、99.999%のマルチリージョンのアクティブ・アクティブ可用性を主張する分散SQLデータベースだ。このデータベースは、水平スケーリング、マルチリージョンのアクティブ・アクティブなオペレーション、コネクション管理、そして最近Auroraに追加された待望の機能であるscale-to-zeroを扱う。PostNLのプリンシパル・エンジニアであるLuc van Donkersgoed氏が次のように書いている

ここにあります!Amazon Auroraの分散SQL(DSQL)です。これはDynamoDBとPostgresを統合した、真のサーバーレスリレーショナルデータベースです。これがRe:Invent 2024の発表です。それ以外のことは関係ありません(他の発表は重要ではありません)。

AuroraはすでにGlobal Databaseを通じて複数地域にまたがるPostgreSQL互換データベースを提供しているが、DSQLの背後にあるテクノロジーは大きく異なる。DSQLでは、両方のリージョンがアクティブ・アクティブ・モードで動作し、書き込みを受け付け、データを相互複製する。対照的に、Global Databaseは1つのリージョンから別のリージョンにデータをレプリケートするだけで、データベースへの書き込みは1つのリージョンにしか許可されない。セカンダリーリージョンは読み取り専用のレプリカとして機能し、必要に応じてプライマリーに昇格させることができる。

単一リージョン構成では、Aurora DSQLはすべての書き込みトランザクションを分散トランザクションログにコミットし、コミットされたログデータを3つのアベイラビリティゾーンにまたがるユーザストレージレプリカに同期してレプリケートする。マルチリージョン構成では、クラスタは、リンクされたクラスタリージョンごとに1つずつ、2つのリージョナルエンドポイントを通じて可用性を向上させる。この新サービスの導入にあたって、AWSのシニア・データベース・エンジニアであるRaluca Constantin氏と、AWSのスペシャリスト・ソリューション・アーキテクトであるArun Sankaranarayanan氏は、次のように述べている。

リンクされたクラスタの両方のエンドポイントは、単一の論理データベースを表現し、強力なデータ一貫性で同時読み取りと書き込み操作をサポートします。これにより、地理的なロケーション、パフォーマンス、または耐障害性の目的に応じて、アプリケーションと接続のバランスをとることができ、Readerが常に同じデータを参照できるようになります。

第3のリージョンはウィットネス・リージョンとして機能し、リンクされたクラスタに書き込まれたデータを受け取り、マルチリージョンの耐久性と可用性を確保するために、暗号化されたトランザクションログを一定期間保存する。

出典:AWSブログ

別記事で説明したように、Aurora DSQLは、従来のロックアプローチの代わりに楽観的な同時実行制御(OCC)を採用している。AWSのシニア・データベース・スペシャリストであるRajesh Kantamani氏と、データベース・スペシャリストのPrasad Matkar氏は、次のように書いている。

Aurora DSQLでOCCを使用することは、分散アーキテクチャに適しています。トランザクション実行中のリソースロックの必要性を回避することで、より高いスループットとシステム効率を可能にするからです。

クラウド・プロバイダーは、OCCは、単一の遅いトランザクションが他のトランザクションに影響を与える、または速度を低下させるのを防ぐだけでなく、クエリ処理のスケーラビリティを向上させ、現実的な障害に対してより堅牢なクラスタを提供すると強調している。これは、デッドロックやパフォーマンス・ボトルネックにつながる可能性のあるロッキングメカニズムへの依存を避けることで達成される。

AWSの副社長兼著名なエンジニアであるMarc Brooker氏は、Aurora DSQLの実装に関するインサイトを共有している一連の技術記事を発表した。彼は、トランザクションのレイテンシーが、たとえリージョンをまたいでも、トランザクションステートメント数に対して一定であることを説明している。Brooker氏はまた、書き込み、競合検出、耐久性がどのように管理されているかについて、およびトランザクションの分離とクエリパフォーマンスの実装についても説明している。これらの記事は人気を博しており、カンファレンスでの彼のディープダイブ・セッションはYouTubeで公開されている。

ソース:Brooker氏のブログ

コミュニティの多くの人々は、この新サービスを、AWSが、Cloudflare D1、Google Cloud Spanner、およびPostgreSQL互換のNeonに挑戦するものと見ている。トランザクション・ロジックをストレージ層から分離し、トランザクションを強力な一貫性で処理することで、アマゾンのCEOはステージ上において、この新しいデータベースはSpannerよりも4倍高速な読み書きを実現すると主張した。

Hacker Newsでの反応は様々で、多くの開発者が重大な制限の数々を強調している。この実装は、厳密な誤差範囲で正確な時計を提供するAWSの精密時間インフラストラクチャに依存している一方で、一部の専門家はDSQLをオープンソースデータベースのための刺激的なプロジェクトと見ている。ユーザーのEdwinr95は代わりにこのように書いている。

一時テーブル・外部キー・ビューが存在せず、トランザクションは10k行を超えません。Postgresプロトコルとの基本的な通信互換性を除けば、これを「データベース」と呼ぶのは難しく、これはむしろkey-valueストアです。

この新しいサービスは、低レイテンシーと同期レプリケーションを世界中に提供することを目指している。しかし、パブリック・プレビューは現在、米国のバージニア州北部、オハイオ州、オレゴン州、3つの地域でのみ利用可能だ。

作者について

この記事に星をつける

おすすめ度
スタイル

BT