
Google I/O 2022 にて、新たなマネージドデータベースとして「AlloyDB for PostgreSQL」(以下、AlloyDB と略記)が発表されました。
AlloyDB は要求の厳しいエンタープライズ レベルのトランザクションおよび分析ワークロード向けのフルマネージドの PostgreSQL 互換データベースです。
AlloyDB と PostgreSQL をホストする従来のフルマネージドデータベースである「Cloud SQL for PostgreSQL」(以下、Cloud SQL と略記)について、実際に環境を構築し比較・検証してみます。
今回は、「第1回:AlloyDB の概要、性能検証編」と「第2回:可用性検証、まとめ編」のうち、「第2回:可用性検証、まとめ編」です。
・第1回:AlloyDB の概要、性能検証編
・第2回:可用性検証、まとめ編 ※本記事
AlloyDB は要求の厳しいエンタープライズ レベルのトランザクションおよび分析ワークロード向けのフルマネージドの PostgreSQL 互換データベースです。
AlloyDB と PostgreSQL をホストする従来のフルマネージドデータベースである「Cloud SQL for PostgreSQL」(以下、Cloud SQL と略記)について、実際に環境を構築し比較・検証してみます。
今回は、「第1回:AlloyDB の概要、性能検証編」と「第2回:可用性検証、まとめ編」のうち、「第2回:可用性検証、まとめ編」です。
・第1回:AlloyDB の概要、性能検証編
・第2回:可用性検証、まとめ編 ※本記事
AlloyDB と Cloud SQL の比較:可用性面
検証概要
・フェイルオーバー / フェイルバック
・読み取りプールインスタンスへのレプリケーション
検証環境
構成図

検証1:フェイルオーバー
【フェイルオーバー実施前の場所】
us-central1-b
(セカンダリゾーン:us-central1-f)
※プライマリインスタンス内には検証用のテスト DB を作成済みの状態です。

プライマリインスタンスのメニューより「フェイルオーバー」を選択します。

インスタンス名を入力し、フェイルオーバー実施します。

フェイルオーバーのオペレーション実施中の通知がポップアップされます。

フェイルオーバーの完了の通知がポップアップされました。

検証結果
【フェイルオーバー実施後の場所】
us-central1-f
(セカンダリゾーン:us-central1-b)
プライマリインスタンス内のテスト DB の内容は問題なく参照することができました。
またフェイルオーバー後も、プライベート IP は変更されていませんでした。

検証2:フェイルバック



検証3:AlloyDB と Cloud SQL のフェイルオーバー比較
10 回の試行回数の結果、20% の速度向上の結果を得ることができました。
1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 6回目 | 7回目 | 8回目 | 9回目 | 10回目 | 平均 | |
---|---|---|---|---|---|---|---|---|---|---|---|
Cloud SQL |
100% |
100% |
100% |
100% |
100% |
100% |
100% |
100% |
100% |
100% |
100% |
AlloyDB |
61% |
67% |
75% |
61% |
48% |
77% |
122% |
122% |
80% |
103% |
80% |
今後の一般公開(GA)ではさらなる高速化を期待します。
検証4:読み取りプールインスタンスへのアクセス
プライベート IP:192.168.11.19
↓
・読み取りプールインスタンスにて追加データを確認
プライベート IP:192.168.11.22
プライマリインスタンスのテスト DB へ内容の更新をかけます。
結果、瞬時に読み取りプールインスタンスで追加データを確認できました。

可用性検証結果まとめ
また、読み取りプールインスタンスを利用して、参照処理の分散化をとることもできます。
「第1回:AlloyDB の概要、性能検証編」の価格比較では AlloyDB / Cloud SQL シングル構成 / Cloud SQL HA 構成の比較をしました。
いずれも Cloud SQL のほうが安いという結果でしたが、可用性を考慮すると Cloud SQL HA 構成と AlloyDB は利用価格差が縮まったと印象を持ちました。
Google Cloud でデータベースを利用する際には AlloyDB を選択肢の一つとして考えてみてはいかがでしょうか。
まとめ
2 回にわたって AlloyDB について性能面と可用性の部分の検証を行ってきました。
TPC-C および TPC-H において AlloyDB はCloud SQL と比較して平均して約 2 倍の性能が出ており、並行負荷がかかるほど性能差が出ました。
TPC-H において AlloyDB のカラム型エンジン有効、無効を比較して 1.25 倍の性能が出ており、クエリの種類によっては 100 倍超の性能がでるクエリもありました。
上記より、AlloyDB は大多数の同時接続が発生するデータベースが必要な場合において効果を発揮し、加えて大量のデータを分析するクエリを実行するデータベースの場合はカラム型エンジンを適用することで、より効果を発揮することがわかります。
AlloyDB を HA 構成で構築し、フェイルオーバーをテストした結果は Cloud SQL より 20% 短い時間で移行することができました。
Cloud SQL HA 構成の SLA が 99.95% に対し AlloyDB の SLA はメンテナンスを含めて 99.99% であり、読み取りプールインスタンスについても 2node 構成以上の場合には、99.99% SLA が適用される予定であることを踏まえると、AlloyDB の方が SLA が高いということが今回の検証からも言える結果となりました。
(但し、今回はインスタンス障害やゾーン障害は発生させておらず、正確なダウンタイムの比較とはなっていないことをご了承ください。)
今回の検証結果から、以下のことが判明しました。
それぞれのサービスにて優位性を持っておりますので、特徴を理解しつつ最適なサービスを選択できればよいかと思われます。
・ AlloyDB と Cloud SQL の同等構成での費用を単純に比較すると、Cloud SQL の方が料金が安い。
・ 同等構成の AlloyDB は Cloud SQL と比較して約 2 倍の性能差があるため、ニーズに合った費用比較をする必要がある。
・ 性能検証 / 可用性検証結果を考慮すると、AlloyDB の方が優位性がある。
・ カラム型エンジンを利用する場合は、メモリサイズの最適化を強く推奨。
今回は検証できませんでしたが、Oracle Database から AlloyDB for PostgreSQL への移行作業とかも今後御紹介できればと思います。
弊社、システムサポートは Cloud SQL の導入サービスを行っており、AlloyDB や Cloud SQL に限らず、Google Cloud に関してのご用命の際は弊社「クラウド導入支援サービス for Google Cloud」へご連絡ください。
性能検証結果
TPC-H において AlloyDB のカラム型エンジン有効、無効を比較して 1.25 倍の性能が出ており、クエリの種類によっては 100 倍超の性能がでるクエリもありました。
上記より、AlloyDB は大多数の同時接続が発生するデータベースが必要な場合において効果を発揮し、加えて大量のデータを分析するクエリを実行するデータベースの場合はカラム型エンジンを適用することで、より効果を発揮することがわかります。
可用性検証結果
Cloud SQL HA 構成の SLA が 99.95% に対し AlloyDB の SLA はメンテナンスを含めて 99.99% であり、読み取りプールインスタンスについても 2node 構成以上の場合には、99.99% SLA が適用される予定であることを踏まえると、AlloyDB の方が SLA が高いということが今回の検証からも言える結果となりました。
(但し、今回はインスタンス障害やゾーン障害は発生させておらず、正確なダウンタイムの比較とはなっていないことをご了承ください。)
結論
それぞれのサービスにて優位性を持っておりますので、特徴を理解しつつ最適なサービスを選択できればよいかと思われます。
・ AlloyDB と Cloud SQL の同等構成での費用を単純に比較すると、Cloud SQL の方が料金が安い。
・ 同等構成の AlloyDB は Cloud SQL と比較して約 2 倍の性能差があるため、ニーズに合った費用比較をする必要がある。
・ 性能検証 / 可用性検証結果を考慮すると、AlloyDB の方が優位性がある。
・ カラム型エンジンを利用する場合は、メモリサイズの最適化を強く推奨。
今回は検証できませんでしたが、Oracle Database から AlloyDB for PostgreSQL への移行作業とかも今後御紹介できればと思います。
弊社、システムサポートは Cloud SQL の導入サービスを行っており、AlloyDB や Cloud SQL に限らず、Google Cloud に関してのご用命の際は弊社「クラウド導入支援サービス for Google Cloud」へご連絡ください。