Amazon Aurora DSQL と Google Cloud Spanner のアーキテクチャを比較してみた!
この記事は NHN テコラス Advent Calendar 2024 の 13 日目の記事です。
はじめに
こんにちは、Shunです!
先日、AWS re:Invent 2024 で Amazon Aurora DSQLというグローバルにスケール可能なデータベースが発表されました!
Aurora DSQL のアーキテクチャを聞いていると Cloud Spanner と非常に似ているデータベースだと感じました!
そこで本記事では、Aurora DSQL と Cloud Spanner を比較しながらまとめます!
Amazon Aurora DSQL とは
Amazon Aurora DSQL とは、事実上無制限のスケールが可能な PostgreSQL 互換のサーバーレス 分散 SQL データベースです。データベースのシャーディングやインスタンスのアップグレードを行うことなく、ワークロードの需要に合わせて容易に拡張できます。
アクティブ/アクティブな分散アーキテクチャを採用した Aurora DSQL は、強力なデータ整合性を保証し、単一リージョンで 99.99%、マルチリージョンで 99.999% の可用性を実現するように設計されています。サーバーレス設計により、パッチ適用、アップグレード、メンテナンスのダウンタイムといった運用上の負担を軽減します。
Cloud Spanner とは
Cloud Spanner は、Google Cloud が提供する無制限に書き込みと読み取りをスケールできるリレーショナルデータベースです。 強力な整合性を備え SQL に対応しています。自動シャーディングにより、データの拡張性とパフォーマンスを最大化します。
世界中にわたる同期複製により、99.999% の高可用性を実現します。トランザクションの完全性を維持しながらグローバルデータを処理できます。
アーキテクチャ
Amazon Aurora DSQL
Aurora DSQL には、AZ 障害に対応可能なシングルリージョン構成とデータ処理/保存を分離可能なマルチリージョン構成の2つを選択することができます。
※本章で使用される画像は以下から抜粋しております。
出典: Introducing Amazon Aurora DSQL
1. シングルリージョン
Aurora DSQL では、コンピューティングレイヤー、トランザクションレイヤー、ストレージレイヤーの3つに分離されています。
シングルリージョンでは、3つの AZ にわたりデータが複製されます。これにより、AZ 障害が起きた場合でもフェールオーバーやレプリケーションラグの時間を最小限に抑えることができるようになります。
フェールオーバー時は、手動操作なしで正常なインスタンスへルーティングが行われます。
書き込みトランザクションは、トランザクションログレイヤーに記録され、その後3つの AZ にある ストレージレイヤーに同期的に記録されます。
2. マルチリージョン
マルチリージョンでは、3 つのリージョンにわたって構成されます。
2つのリージョンにわたってデータが複製され、第3のリージョンは Witness リージョンとして機能します。
Witness リージョンでは、トランザクションログのみが記録され、2つのリージョンのAurora DSQL の整合性を維持します。
Cloud Spanner
Cloud Spanner も Aurora DSQL と同様にコンピューティングレイヤーとストレージレイヤーが分離しています。
Cloud Spanner では、シングルリージョン、マルチリージョンに加え、デュアルリージョンの3つの構成を組むことが可能です。
参考: Regional, dual-region, and multi-region configurations
※本章で使用される画像は以下から抜粋しております。
出典: Spanner Architecture | Google Cloud Skills Boost
1. シングルリージョン
シングルリージョンでは、3 つのゾーンにわたってデータが複製されます。
ゾーン 障害時のフェールオーバーや正常なインスタンスへのルーティングは、自動的に行われます。
2. マルチリージョン
マルチリージョンでは、3 つのリージョンにわたって構成されます。2つのリージョンにわたってデータが複製され、第3のリージョンは Witness リージョンとして機能します。
マルチリージョンは、データの一貫性が強く求められるユースケースに適しています。
3. デュアルリージョン
デュアルリージョンは、文字通りの2つのリージョンにわたって構成されます。シングルリージョン、マルチリージョンとの違いは、ゾーン内で Witness 機能を持つノードが構成されることです。
デュアルリージョン構成の大きな特徴は、データを国内に留めることができるという点です。
データの所在地を国内に限定できるということが、Cloud Spanner と Aurora DSQL の大きな違いになっています。
参考: 高可用性とデータ所在地を維持できる Spanner の新しいデュアルリージョン構成
デュアルリージョンの構成図は、以下記事より引用しています。
価格
Amazon Aurora DSQL
現在プレビュー中のため無料で利用できます。一般公開時に詳しい情報が提供されます。
Cloud Spanner
Cloud Spanner は、以下に対して課金されます。
- コンピューティング
- データベースで使用するストレージ
- バックアップで使用するストレージ
- レプリケートされるデータ量
- ネットワーク
ネットワーク料金などは使用用途や規模により大きく左右されるため、ここではコンピューティング料金のみご紹介します。
リージョン構成 | エディション | ノードあたりのコスト |
---|---|---|
シングルリージョン | Standard | $854.1 per month |
Enterprise | $1167.27 per month | |
Enterprise Plus | $1622.79 per month | |
マルチリージョン | Enterprise Plus | $2734.65 per month |
デュアルリージョン | Enterprise Plus | $3245.58 per month |
※ 1ノードは1,000処理ユニット未満とされています。
例:200処理ユニットで実行時間が6時間のインスタンスは、1.2ノードとして課金されます。
※ エディションによって、パフォーマンス、SLAなどが異なります。
※ シングルリージョンは Tokyo(asia-northeast1)、マルチリージョンは Asia1(asia1) 、デュアルリージョンは Japan 1 (japan1) の料金です。
参考:Spannerの料金
さいごに
ここまで Aurora DSQL と Cloud Spanner のアーキテクチャなどの比較をしてきました!
アーキテクチャは非常によく似ていますが、Aurora DSQL はシャーディングを行っていない点、Cloud Spanner にはデュアルリージョンの選択肢がある点など、いくつかの違いがあることが分かりました!
Aurora DSQL はプレビューで情報が少ないので、アップデートあり次第また両者の良い部分を見ていこうと思います!
最後までお読みいただきありがとうございます!
Appendix
比較表
項目 | Aurora DSQL | Cloud Spanner |
---|---|---|
構成 | ・シングルリージョン ・マルチリージョン |
・シングルリージョン ・マルチリージョン ・デュアルリージョン |
ストレージ | 分散ストレージ | 分散ストレージ |
シャーディング | – | 対応 |
可用性 | 99.999% | 99.999% |
互換性 | PostgreSQL | 独自 SQL |
参考資料
- Amazon Aurora DSQL
- AWS re:Invent 2024 – CEO Keynote with Matt Garman
- Introducing Amazon Aurora DSQL
- Amazon Aurora DSQL に関するよくある質問
- Concurrency control in Amazon Aurora DSQL
- Spanner documentation
- Spanner Architecture | Google Cloud Skills Boost
- Spanner: TrueTime and external consistency
- Regional, dual-region, and multi-region configurations
- 高可用性とデータ所在地を維持できる Spanner の新しいデュアルリージョン構成
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitterGoogle Cloud Partner Top Engineer 2025、2024 AWS All Cert、ビール検定1冠
Recommends
こちらもおすすめ
-
【初心者向け】Cloud Spanner のバックアップを理解しよう!
2024.11.18
-
Cloud Spanner のリージョンを徹底解説!
2024.10.25
-
『生成 AI』における『ガードレール』とは?
2024.12.14
-
Rocky Linux9 で KVM ホストを構築してつまずきまくったまとめ
2024.12.1
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 10 %割引になる!
『AWSの請求代行リセールサービス』
2024.07.16