2022年10月12日

【Google Cloud】AlloyDB と Cloud SQL を徹底比較してみた!!(第2回:可用性検証、まとめ編)


Content
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 と Cloud SQL の比較:可用性面

検証概要

AlloyDB の HA機能の一つである、フェイルオーバーを手動で実施し、動きを確認してみました。
・フェイルオーバー / フェイルバック
・読み取りプールインスタンスへのレプリケーション

検証環境

今回の検証では以下のように読み取りプールインスタンス(Read Pool Instance)を1つ追加し、可用性の検証を実施します。

構成図

検証1:フェイルオーバー

検証手順

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

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

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

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

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

検証結果

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

検証2:フェイルバック

フェイルバックに関しても、同様の手順で問題なく実施できています。


検証3:AlloyDB と Cloud SQL のフェイルオーバー比較

フェイルオーバーの実行時間に関して、引き合いに出されるであろう、Cloud SQL HA 構成との比較をおこなってみました。
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%

執筆時点(2022年10月)ではまだプレビュー版の結果です。
今後の一般公開(GA)ではさらなる高速化を期待します。

検証4:読み取りプールインスタンスへのアクセス

・プライマリインスタンスでデータ追加
プライベート IP:192.168.11.19

・読み取りプールインスタンスにて追加データを確認
プライベート IP:192.168.11.22

プライマリインスタンスのテスト DB へ内容の更新をかけます。
結果、瞬時に読み取りプールインスタンスで追加データを確認できました。

可用性検証結果まとめ

フェイルオーバーやフェイルバックの時間を比較した結果、AlloyDB はCloud SQL より 20% 短い時間で実施できます。
また、読み取りプールインスタンスを利用して、参照処理の分散化をとることもできます。
第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」へご連絡ください。

他のGoogle Cloud導入支援も見る

2022年10月12日 【Google Cloud】AlloyDB と Cloud SQL を徹底比較してみた!!(第2回:可用性検証、まとめ編)

Category Google Cloud

ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。

お問い合わせはこちら