AnalyticDB for PostgreSQL High-performance Editionは、単一のレプリカアーキテクチャを使用して、ストレージおよびエントリレベルのインスタンスのコストを削減し、高いI/Oパフォーマンスを提供します。
AnalyticDB for PostgreSQL High-performance Editionインスタンスは、ほとんどのビジネス分析シナリオに適しています。 コアビジネス要件を満たすために、High-availability Editionを使用することを推奨します。
アーキテクチャ
AnalyticDB for PostgreSQL High-performance Editionインスタンスのコーディネーターノードとコンピュートノードは、次の図に示すように、単一レプリカアーキテクチャにデプロイされています。
High-availability Editionアーキテクチャと比較して、High-performance Editionアーキテクチャには、スタンバイコーディネーターノードまたはセカンダリ計算ノードは含まれていません。
高性能エディションアーキテクチャには、次の利点があります。
スタンバイ・コーディネータ・ノードのストレージ使用が排除される。
計算ノードのストレージ使用量は50% 削減されます。
プライマリ計算ノードとセカンダリ計算ノード間のデータ同期プロセスが不要になり、データ書き込み時のI/Oパフォーマンスが向上します。
課金ルール
課金ルールの詳細については、「AnalyticDB For PostgreSQLの料金」をご参照ください。
利点
コスト削減
High-availability Editionインスタンスと比較して、同じ仕様を使用するHigh-performance Editionインスタンスには、次の利点があります。
インスタンスにレプリカが1つしかないため、ストレージコストが50% 削減されます。
計算ノードは低コストですが、同じコンピューティング機能を提供します。
仕様
ストレージ価格 (1か月あたりのUSD)
計算ノードの価格 (月額USD)
合計価格 (1か月あたりのUSD)
ハイパフォーマンスエディション
高可用性エディション
Reduced by
ハイパフォーマンスエディション
高可用性エディション
Reduced by
ハイパフォーマンスエディション
高可用性エディション
Reduced by
エントリーレベルの仕様
22.4
100
77.6%
175.55
352.05
50.13%
197.95
452.05
56.21%
共通仕様
89.6
200
55.2%
668.65
700.28
4.52%
758.25
900.28
15.78%
エントリーレベルの仕様は最低の仕様です。 High-performance Editionインスタンスのエントリレベルの仕様は、2 CPUコア、50 GBのストレージ、および2つのコンピュートノードです。 High-availability Editionインスタンスのエントリーレベルの仕様は、2 CPUコア、50 GBのストレージ、4コンピューティングノードです。 エントリーレベルの仕様の場合、High-performance Editionインスタンスの価格はHigh-availability Editionインスタンスの価格よりも56% に低くなります。
一般的な使用シナリオでは、AnalyticDB for PostgreSQLインスタンスは、High-performance EditionおよびHigh-availability Edition用に4つのCPUコア、100 GBのストレージ、および4つの計算ノードを使用します。 High-performance Editionインスタンスの価格は、同じ仕様を使用するHigh-availability Editionの価格よりも15% に低くなっています。
パフォーマンス向上
High-performance Editionは、High-availability Editionよりも高いI/Oパフォーマンスを提供します。 2つのCPUコアを使用するHigh-performance Editionインスタンスは、同じ仕様を使用するHigh-availability EditionインスタンスのI/Oパフォーマンスの最大250% を提供します。 High-performance Editionでは、データ同期とストリーミングレプリケーションのプロセスがなくなります。 これにより、書き込み集中型シナリオでのI/Oパフォーマンスが約100% 向上します。
次のセクションでは、ローカルレプリケーションおよびTPC-Hベンチマークテストのシナリオでのパフォーマンスに基づく、High-availability Editionに対するHigh-performance Editionの利点の例を示します。 各エディションのインスタンスが使用され、各インスタンスは2つのCPUコア、400 GBのストレージ、および4つの計算ノードを使用します。
ローカルレプリケーション
約90 GBのデータを含む行指向のテーブルがインスタンスにレプリケートされます。 例:
CREATE TABLE lineitem2 AS (SELECT * FROM lineitem);
実行期間:
ハイパフォーマンスエディション: 249秒。
高可用性エディション: 1,307秒。
テストの結果、High-performance Editionのパフォーマンスは、CREATE TABLE AS SELECTおよびINSERT INTO SELECT操作のHigh-availability Editionのパフォーマンスの約5倍であることが示されています。
TPC-Hテスト
説明この例では、TPC-Hベンチマークテストに基づくテストが実行されますが、テストはTPC-Hベンチマークテストのすべての要件を満たしているわけではありません。 その結果、テスト結果をTPC-Hベンチマークテストの公開結果と比較することはできません。
テストでは、100 GBのデータを含むTPC-Hのベンチマークテストデータセットに対して22のSQL文が実行されます。 次の図に結果を示します。
High-performance Editionインスタンスが操作を完了するのに必要な時間は、High-availabilityインスタンスが必要とする時間よりも40% に短い。 これは、I/O性能の改善を示す。
Availability
データの信頼性
AnalyticDB for PostgreSQLは、拡張SSD (ESSD) を使用してデータを保存します。 これにより、シングルレプリカモードでも高いデータ信頼性が得られ、計算ノードで障害が発生した場合にデータの整合性が保証されます。
高可用性
AnalyticDB for PostgreSQL High-performance Editionは、レプリカを1つしか使用しないため、可用性が低くなります。 これにより、物理マシンの障害などの極端なシナリオでは、インスタンスの回復に必要な時間が8時間以内に増加します。 High-performance Editionは、ESSDのマルチレプリカ機能を使用してデータの信頼性を確保し、PostgreSQLのチェックポイントメカニズムを最適化してAnalyticDB for PostgreSQLインスタンスの復旧時間を短縮します。
次のセクションでは、一般的な障害シナリオにおけるAnalyticDB for PostgreSQL High-performance EditionインスタンスとHigh-availability Editionインスタンスの可用性を比較します。
リカバリモードをトリガーする障害
AnalyticDB for PostgreSQLのほとんどの障害シナリオでは、リカバリモードがトリガーされます。 この種の障害シナリオは、計算ノードの障害やホストの障害をはるかに超えています。 High-performance Editionのリカバリプロセスに必要な時間は、High-availability Editionのリカバリプロセスよりも大幅に短くなります。
ほとんどの場合、SQLクラッシュはコアダンプまたはメモリ不足 (OOM) エラーによって発生します。 この場合、AnalyticDB for PostgreSQLインスタンスは復旧モードになります。 リカバリモードでは、システムは残りのロックとメモリをクリアし、Write Ahead Log (WAL) ファイルを再生してデータの整合性を確保します。 インスタンスのサービス提供は、回復プロセス中に停止し、インスタンスが回復した後に再開されます。 High-availability Editionインスタンスの復元には、5分から10分かかる場合があります。 高性能エディションインスタンスは、最適化されたチェックポイントメカニズムを使用して10秒で回復できます。
WAL
AnalyticDB for PostgreSQLでは、トランザクションのすべてのデータ変更は、トランザクションがコミットされる前にWALファイルに記録されます。 データベースがデータを復元すると、WALファイルを再生して、コミットされたがディスクに書き込まれていないデータ変更を復元できます。
チェックポイント
チェックポイントは、すべてのデータ変更がディスク上で行われる前のトランザクションのポイントです。 データベースは、最新のチェックポイントに基づいてデータを復元できます。 AnalyticDB for PostgreSQLは、チェックポイントを定期的に実行します。 WALファイルのサイズが特定のしきい値に達すると、システムはチェックポイントも実行します。
計算ノードの失敗
高性能エディションインスタンスでは、計算ノードに障害が発生した場合の可用性が低下します。 High-availability Editionインスタンスの計算ノードで障害が発生した場合、レプリカを使用してフェールオーバーを実行し、サービスの可用性を確保できます。 障害のある計算ノードがセカンダリ計算ノードになり、バックエンドで再起動します。 High-performance Editionインスタンスのコンピュートノードで障害が発生すると、使用可能なレプリカがないため、インスタンスは使用できなくなり、復旧のためにインスタンスを再起動する必要があります。
ホスト障害
ホスト障害は重大な問題であり、ホストの自動移行をトリガーします。 上記のシナリオでは、High-availability Editionインスタンスのレプリカを使用してフェールオーバーを実行し、インスタンスが期待どおりに実行されるようにすることができます。 ホストの移行はバックエンドで実行されます。 High-performance Editionインスタンスは、ホストの移行が完了した後に再起動する必要があります。 このプロセスには約15分かかります。
関連ドキュメント
よくある質問
Q: AnalyticDB for PostgreSQLインスタンスをHigh-performance EditionからHigh-availability Editionにアップグレードするにはどうすればよいですか。
A: AnalyticDB for PostgreSQLインスタンスをHigh-performance EditionからHigh-availability Editionに直接アップグレードすることはできません。 High-performance Editionインスタンスのデータをバックアップし、High-availability Editionインスタンスを購入してから、High-availability Editionインスタンスにデータを移行することを推奨します。 データの移行方法については、「AnalyticDB For PostgreSQLインスタンス間のデータの移行」をご参照ください。