ENGINEER BLOG ENGINEER BLOG
  • 公開日
  • 最終更新日

【Aurora DSQL】Aurora DSQLって何ができるの?

この記事を共有する

目次

はじめに

こんにちは!パーソル&サーバーワークスのEndoです。
AWS Re:Invent 2024 で発表された Amazon Aurora DSQL (以下、Aurora DSQL) について、2025年7月に 東京・大阪リージョンでマルチリージョン利用が可能 になりました!
本記事では、そんなAurora DSQLってそもそもどんなサービスなのか?何ができるのか?という視点から整理した内容をまとめました。

Aurora DSQLとは

Aurora DSQL は、一言でいうとサーバレスの分散リレーショナルデータベースです。 インフラストラクチャの管理が不要であり、実質的に制限のないスケーラビリティを提供します。
この一言だけではどんなデータベースかイメージが湧かなかったため、次の項から機能を詳しく見ていきます。

Aurora DSQLの特性

構成

Aurora DSQL は Amazon VPC 外のリージョナルサービスです。
PrivateLink がありますので、VPC内のリソースとのプライベートな接続が可能となります。

シングルリージョン/マルチリージョンのいずれでもアクティブ・アクティブ構成となり、レプリケーションラグやデータベースフェイルオーバー操作を最小限にすることができます。
なお、マルチリージョンの場合、メインリージョンとピアリージョンの他に、ウィットネスリージョン の指定が必要となります。 完全に日本国内でマルチリージョン化することはできないため、ご注意ください。
※ウィットネスリージョンについては後述します。

また、データベースへの接続にはリージョンごとのエンドポイントを利用します。

互換性

Aurora DSQL は PostgreSQL と互換性があります。ただし、PostgreSQL でサポートされている型の中でも、一部利用できないものがありますので注意が必要です。詳しくはこちらをご参照ください。

トランザクションの高速化

ここが Aurora DSQL の大きな特徴の一つになると思います。
Aurora DSQL では、トランザクション処理を以下のように細分化しており、読み込み/書き込みの両方で自動スケーリングされ、処理が高速化できます。スケーリングは、それぞれのレイヤーで水平方向/動的に行われます。

  • トランザクションとセッションルーター (データベース接続の受信)
  • Query processor (PostgreSQL 由来、ストレージノードの特定やデータを取得)
  • Adjudicator (トランザクション競合の裁定)
  • Journal (トランザクションログ)
  • Storage (MVCC や処理のオフロード)

マルチリージョンの場合、トランザクションログの機能を持つ Journal はウィットネスリージョンに限定期間配置されます。 ウィットネスリージョンでは、マルチリージョンクラスターに書き込まれるすべてのデータを受け取るため、リージョン障害発生時の復旧が容易になります。

同時実行制御

同時実行制御には、楽観的同時実行制御 (OCC) が採用されています。 コミット時のみに競合を評価するため、高速なスケーリングが可能となりますが、従来の RDB では 多版型同時実行制御 (MVCC) が採用されているため、こちらも大きな違いの一つとなります。 コミット時に競合が発生することを考慮し、アプリケーション側で再実行の設計を行う必要がありますので注意が必要です。

また、スナップショット分離レベルはREPEATABLE READのみがサポートされています。

作成してみた

作成手順はとてもシンプルです。

  1. AWS Management Console から、Aurora DSQL のサービスページに遷移し、クラスターを作成 を押下します。 今回はマルチリージョンで構築してみます。 dsql-1.png

  2. マルチリージョンクラスターの作成画面にて、ウィットネスリージョンを選択します。タグにはクラスター名を入力して、クラスターの作成 を押下します。 dsql-2.png dsql-3.png

  3. マルチリージョンクラスターのセットアップを完了する を押下します。ここでピアとなるリージョンを選択します。 dsql-4.png dsql-5.png dsql-7.png

  4. ピアリージョンにクラスターが作成されたら、最後に <メインリージョン> のピア を押下し、 確認 を押下します。 dsql-8.png dsql-9.png

  5. マルチリージョンクラスターが作成されます。接続したい場合は 接続 のプルダウンからトークンを取得するか、CloudShellで開くことができます。 dsql-10.png

  6. CloudShellで接続テストをしてみます。 dsql-11.png dsql-12.png dsql-13.png

おわりに

トランザクション周りの内容が一度で理解するにはとても難しいと思いました。機会がありましたら、データベース内部の話も執筆したいと思います!
本記事がご参考になりましたら幸いです。

参考文献

Amazon Aurora DSQL アーキテクチャー詳細

この記事は私が書きました

S.Endo

記事一覧

コーヒーを飲みながら仕事をしています

S.Endo

この記事を共有する

クラウドのご相談

CONTACT

クラウド導入や運用でお悩みの方は、お気軽にご相談ください。
専門家がサポートします。

サービス資料ダウンロード

DOWNLOAD

ビジネスをクラウドで加速させる準備はできていますか?
今すぐサービス資料をダウンロードして、詳細をご確認ください。