Amazon Aurora DSQL と Google Cloud Spanner のアーキテクチャを比較してみた!

AWS

2024.12.13

Topics

この記事は 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% の可用性を実現するように設計されています。サーバーレス設計により、パッチ適用、アップグレード、メンテナンスのダウンタイムといった運用上の負担を軽減します。

参考: Amazon Aurora DSQL

Cloud Spanner とは

Cloud Spanner は、Google Cloud が提供する無制限に書き込みと読み取りをスケールできるリレーショナルデータベースです。 強力な整合性を備え SQL に対応しています。自動シャーディングにより、データの拡張性とパフォーマンスを最大化します。
世界中にわたる同期複製により、99.999% の高可用性を実現します。トランザクションの完全性を維持しながらグローバルデータを処理できます。

参考: Spanner documentation

アーキテクチャ

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 の新しいデュアルリージョン構成

デュアルリージョンの構成図は、以下記事より引用しています。

関連記事
Cloud 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

参考資料

テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!

Shun

Google Cloud Partner Top Engineer 2025、2024 AWS All Cert、ビール検定1冠

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら