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

Hologres:サーバーレス計算リソースの管理

最終更新日:Nov 29, 2025

Hologres は、サーバーレスコンピューティングリソースを使用したタスクの実行をサポートしています。利用可能なサーバーレスリソースは、インスタンスレベルと SQL レベルの両方で制限されています。このトピックでは、サーバーレスコンピューティングのリソース制限について説明し、SQL クエリのサーバーレスリソースを管理する方法を解説します。

サーバーレスリソースクォータ

サーバーレスリソースクォータは、Hologres インスタンスがリクエストできるサーバーレスリソースの最大量です。このクォータは、インスタンスの専用計算資源によって決まります。以下の表にこの関係の概要を示します。

専用リソース (CU)

サーバーレスリソースクォータ

32 CU 未満

サーバーレスコンピューティングはサポートされていません。

32 CU から 688 CU

クォータは、インスタンスの専用計算資源の 3 倍です。たとえば、32 CU の専用リソースを持つインスタンスのクォータは 32 * 3 = 96 CU です。

Hologres v3.0.33 以降、クォータはインスタンスの専用計算資源の 5 倍に増加し、上限は 2048 CU です。この上限は v3.1.9 以降 4096 CU に引き上げられます。

688 CU 以上

クォータの上限は 2048 CU です。

この上限は v3.1.9 以降 4096 CU に増加します。

説明
  • サーバーレスリソースクォータは、インスタンス上のすべてのアクティブな SQL クエリ (EXECUTE 状態) が使用できる同時サーバーレスリソースの最大値です。

  • 各ゾーンのサーバーレスリソースプールは、そのゾーン内のすべてのインスタンスで共有されます。

  • インスタンスのサーバーレスリソースクォータを超過した場合、またはゾーン内のサーバーレスリソースプールが枯渇した場合、新しい SQL クエリはサーバーレスリソースが利用可能になるまでキューに入れられます (QUEUE 状態になります)。

SQL クエリのサーバーレスリソースを設定する

SQL クエリのリソース割り当ては、以下の表にある 3 つの要素の最小値によって決定されます。リソースは 15 CU 単位でリクエストされます。

要素 (パラメーター)

説明

リソースクォータ

Hologres インスタンスが使用できるサーバーレスコンピューティングリソースの最大値。

最大リソース (hg_experimental_serverless_computing_max_cores)

単一の SQL クエリに割り当て可能なサーバーレスリソースの上限を指定します。このパラメーターは設定可能です。デフォルト値:

  • v3.0.42/v3.1.10 より前: 512

  • v3.0.42/v3.1.10 以降: 1024

必要リソース (hg_experimental_serverless_computing_required_cores)

Hologres が SQL クエリに必要と見積もるサーバーレスリソース。デフォルト値の 0 は自動見積もりを有効にします。ゼロ以外の値を手動で指定した場合、Hologres は指定された値と自身の見積もりの 50% のうち、大きい方の値を使用します。

最大リソースの設定

単一の SQL クエリのサーバーレスリソースの上限を設定するには、次の文を実行します。

説明

SQL の実行に十分なリソースを確保するため、このパラメーターの変更は避けてください。変更する必要がある場合は、まず十分なテストを実施してください。

-- 単一のサーバーレスコンピューティングタスクに割り当てる最大 CU を設定します。デフォルト: 512。
SET hg_experimental_serverless_computing_max_cores = 512;

-- 構成をリセットします。
reset hg_experimental_serverless_computing_max_cores;

例:

-- クエリのサーバーレスコンピューティングを有効にします。
SET hg_computing_resource = 'serverless';

-- 単一の SQL クエリの最大 CU を 32 に設定します。
SET hg_experimental_serverless_computing_max_cores = 32;

-- SQL クエリを実行します。
INSERT INTO sink_tbl SELECT * FROM source_tbl;

-- 構成をリセットします。
reset hg_computing_resource;
reset hg_experimental_serverless_computing_max_cores;

必要リソースの設定

デフォルトでは、Hologres はクエリの複雑さに基づいて必要なリソースを自動的に見積もります。この自動見積もりにより、リソース使用率とクエリ実行時間のバランスが取れます。

より多くのサーバーレスリソースを割り当ててクエリのパフォーマンスを向上させるには、次の文を実行します。

説明
  • このパラメーターの変更は推奨しません。リソースの割り当てが少なすぎると、OOM エラーが発生する可能性があります。変更する必要がある場合は、まず十分なテストを実施してください。

  • 安定性を確保するため、このパラメーターが手動で指定された場合、Hologres は指定された値と自身の見積もりの 50% のうち、大きい方の値を使用します。

-- デフォルト値の 0 は、自動リソース見積もりを有効にします。
SET hg_experimental_serverless_computing_required_cores = XX;

-- 構成をリセットします。
reset hg_experimental_serverless_computing_required_cores;

例:

-- クエリのサーバーレスコンピューティングを有効にします。
SET hg_computing_resource = 'serverless';

-- 96 CU を手動でリクエストします。実際にリクエストされるリソースは max (96, Hologres の見積もり * 0.5) です。
SET hg_experimental_serverless_computing_required_cores = 96;

-- SQL クエリを実行します。
INSERT INTO sink_tbl SELECT * FROM source_tbl;

-- 構成をリセットします。
reset hg_computing_resource;
reset hg_experimental_serverless_computing_required_cores;

自動見積もり戦略の調整

自動リソース見積もりが一貫して不正確な場合は、hg_experimental_serverless_computing_resource_allocation_ratio パラメーターを変更して見積もり戦略を調整します。

  • デフォルト値は 4 で、これは中立的な戦略を表します。

  • Hologres が一貫してリソースを過小評価する場合は、この値を増やします。たとえば、8 に設定すると、見積もりリソースが 2 倍になります (例: 60 CU の見積もりが 120 CU になります)。

  • Hologres が一貫してリソースを過大評価する場合は、この値を減らします。たとえば、2 に設定すると、見積もりリソースが半分になります (例: 60 CU の見積もりが 30 CU になります)。

-- SQL レベルで変更
SET hg_experimental_serverless_computing_resource_allocation_ratio = 4;

-- ユーザーレベルで変更
ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_experimental_serverless_computing_resource_allocation_ratio = 4;

-- DB レベルで変更
ALTER DATABASE <db_name> SET hg_experimental_serverless_computing_resource_allocation_ratio = 4;