すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:リソース管理

最終更新日:Jun 24, 2026

AnalyticDB for PostgreSQL は、データベースリソースを管理するためにリソースキューとリソースグループをサポートします。これらの方法により、異なるタイプのクエリに対してリソース分離を実現し、効率的なリソース使用と異なるサービスの独立性を確保します。このトピックでは、リソースキューとリソースグループを使用して、AnalyticDB for PostgreSQL データベースの CPU、メモリ、ディスクスピルなどのリソースを管理する方法について説明します。

リソースキュー管理

リソースキューは、軽量ロックなどのテクノロジーに基づいて実装されており、同時実行クエリの数、クエリが使用するメモリ、クエリの CPU 優先度など、AnalyticDB for PostgreSQL データベースのリソースを管理するために使用されます。 詳細については、「リソースキューを使用してワークロードを管理する」をご参照ください。

リソースグループ管理

リソースグループは、共有メモリや cgroup などのテクノロジーに基づいて実装されており、AnalyticDB for PostgreSQL データベースの同時実行クエリ数、クエリが使用するメモリ、クエリの CPU 使用率、ディスクスピルのしきい値などのリソースを管理するために使用されます。コンソールからリソースグループを管理できます。詳細については、「リソースグループを使用してワークロードを管理する」をご参照ください。

リソース管理方法の確認

次の SQL ステートメントを実行すると、現在の AnalyticDB for PostgreSQL インスタンスで使用されているリソース管理方法を確認できます。

SHOW gp_resource_manager;

結果:

  • group:リソースグループ方式が使用されています。

  • queue:リソースキュー方式が使用されています。

リソース管理方法の選択

ビジネス要件に基づいてリソース管理方法を選択してください。次の表では、リソースキューとリソースグループを比較しています。

項目

リソースキュー

リソースグループ

制御項目

CPU、メモリ、オプティマイザ

CPU、メモリ、オプティマイザ

ディスクスピル、オプティマイザの最小コスト

使用方法

ユーザーグループに基づく

ユーザーグループに基づく

同時実行管理

ロックに基づく。デッドロックが発生しやすい。

共有メモリに基づく。デッドロックは発生しない。

CPU 管理

優先度に基づく。精度の低い管理。

cgroup に基づく。精度の高い管理。

メモリ管理

サポート

サポート

制御レベル

クエリレベル

トランザクションレベル

以下のリストで、各リソース管理方法を選択すべき状況を説明します。

  • リソースキューを使用する場合

    きめ細かいリソース管理が不要で、CPU 優先度に基づくシンプルなリソース設定が適しており、操作を再試行することでデッドロックに対処できる場合は、この方法を選択してください。

  • リソースグループを使用する場合

    • デッドロックを排除し、操作の再試行を回避したい場合。

    • SQL ステートメントではなく、コンソールでリソース設定を管理したい場合。

    • きめ細かいリソース管理を実行したい場合。たとえば、最大 CPU 使用率を制限したり、各サービスに CPU タイムスライスの比率を割り当てたりして、効果的なリソース分離を実現できます。