PostgreSQL互換でスケーラブルな新DB「Amazon Aurora DSQL」とは?【AWS re:Invent 2024 エンジニア向けまとめ】
第29回 Amazon Aurora DSQL
本連載では、AWSに関して、なかなか時間がとれず最新のアップデートを追えていない方や、これからAWSを利用したいと考えている方に向けて、AWSから発表される数多あるサービスアップデートのうち、NTTデータのITスペシャリスト達がこれだけは押さえておくべきと厳選した内容を定期的に紹介します。本記事では、AWS re:Invent 2024で発表された数々のアップデートの中でも注目の新サービス「Amazon Aurora DSQL(以下、Aurora DSQL)」をご紹介します。
はじめに
先日開催されたAWS re:Invent 2024では数多くのサービスアップデートや新サービスが発表されました。Aurora DSQLの発表は特に注目されたサービス発表の一つではないでしょうか。
本記事では、新サービスAmazon Aurora DSQLについてハンズオンでの使用感含めてご紹介します。
Aurora DSQLについて
Amazon Auroraは、高パフォーマンスなリレーショナルデータベースサービスであり、MySQLおよびPostgreSQL互換のエンジンを提供しています。この度、Aurora DSQLが新たに発表されプレビュー版として提供が開始されました。
Aurora DSQLには以下のような特徴があります。
スケーラビリティ
Aurora DSQLはスケールアップとスケールダウンの両方に対応しています。読み取り操作と書き込み操作を分離し、個別にスケール可能なアーキテクチャが採用されています。1日数件から毎秒数百万件以上まで、あらゆる規模のアプリケーションに適したスケーラビリティが特徴的です。ストレージ層は分散ストレージを使用しており、ダウンタイムを伴わずに自動的に拡張します。
サーバレス構成
サーバレスで運用できるため、サーバレベルでのインフラ管理の必要がありません。Aurora DSQLの設計思想として、アプリケーションエンジニアがスケーラブルなデータベースを簡単に用意するといったユースケースを想定されているそうです。そのような背景から、クラスターの作成は設定が少なくとても簡単で、インフラ管理も自動化されており、パッチ適用やフェイルオーバ管理なども必要ありません。
最大 99.999%のマルチリージョン可用性を実現
マルチリージョンのActive/Active構成により99.999%の可用性を実現します。シングルリージョン構成でも構築可能で、書き込みトランザクションを分散トランザクションログにコミットして3AZに同期されます。
マルチリージョン構成の場合は、次の図のように、データをレプリケーションするためのリージョンと、障害時の可用性を担保するためのウィットネスリージョンの計3リージョン構成になります。
ウィットネスリージョン自体はデータを保持せず、分散合意アルゴリズムにおける合意の役割を担います。また、ウィットネスリージョンでは、クラスターや関連するエンドポイントは作成されません。暗号化されたトランザクションログを限られた期間分を保存します。
PostgreSQL互換
Aurora DSQLはPostgreSQL互換です。PostgreSQLクラアントやORMをそのまま利用可能で、データベースへの接続はPostgreSQLの通常のドライバーで接続できます。 ただし、認証はパスワード認証ではなく、AWS CLIなどを利用し生成できる一時的なIAM認証トークンです。
2024年12月時点ではPostgreSQLとは異なる部分が多く、非対応の機能や制約があります。詳細は下記をご確認ください。
楽観的同時実行制御
多くのリレーショナルデータベースでは、悲観的同時実行制御(PCC:Pessimistic Concurrency Control)と呼ばれる手法が主流ですが、Aurora DSQLはデフォルトで楽観的同時実行制御(OCC:Optimistic Concurrency Control)が採用されています。楽観的同時実行制御(OCC)は、トランザクションがデータをロックせずに処理を行い、最終的にコミットする前に他のトランザクションとの競合がないかを確認します。このアプローチでは、同時実行性が高い環境で競合が少ない場合に効率的に動作し、ロックの管理にかかるオーバーヘッドを削減できます。
この記事は参考になりましたか?
- これだけは押さえておきたい! AWSサービス最新アップデート連載記事一覧
- この記事の著者
-
松原 千波(株式会社NTTデータ)(マツバラ チナミ)
2023年にNTTデータに入社。入社以来、パブリッククラウドを活用したシステム構築、運用に携わる。現在は、AWS共通基盤のDevOps業務に従事。注目しているキーワードは、“Platform Engineering”。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
