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

Hologres:サーバーレスコンピューティングリソースの管理

最終更新日:Jan 10, 2026

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

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

サーバーレスリソースクォータは、Hologres インスタンスがリクエストできるサーバーレスコンピューティングリソースの最大量です。このクォータは、インスタンスの専用コンピューティングリソースによって決まります。次の表に、この関係を示します。

インスタンスのコンピューティングユニット (CU)

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

インスタンスのコンピューティングリソース < 32

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

インスタンスのコンピューティングリソースの値が 32 以上 688 未満である必要があります。

  • クォータは、インスタンスの専用コンピューティングリソースの 3 倍です。たとえば、32 CU の専用コンピューティングリソースを持つインスタンスのクォータは 32 × 3 = 96 CU です。

  • Hologres v3.0.33 以降、クォータはインスタンスの専用コンピューティングリソースの 5 倍に増加し、上限は 2048 CU です。この上限は v3.1.9 以降、4096 CU に引き上げられます。

  • Hologres v4.0.13 以降、クォータはインスタンスの専用コンピューティングリソースの 10 倍に増加し、上限は 4096 CU です。

インスタンスのコンピューティングリソース >= 688

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

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

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

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

  • サーバーレスコンピューティングは従量課金制のコンピューティングリソースであり、リソースの割り当ては保証されません。インスタンスのクォータを超過した場合や、ゾーンのサーバーレスリソースプールが満杯になった場合、送信された SQL クエリはキューイングされ (QUEUE 状態になり)、リソースを待機します。

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

SQL クエリに割り当てられるリソース量は、次の表で説明する 3 つの要素の最小値です。リソースは 15 CU 単位でリクエストされます。

パラメーターまたは制限

説明

クォータ

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

hg_experimental_serverless_computing_max_cores (Max Cores)

単一の SQL クエリに割り当て可能なサーバーレスコンピューティングリソースの上限。このパラメーターは変更可能です。

  • v3.0.42 および v3.1.10 より前:デフォルト値は 512 です。

  • v3.0.42、v3.1.10 以降:デフォルト値は 1024 です。

hg_experimental_serverless_computing_required_cores (Required Cores)

システムが SQL クエリに必要と推定するサーバーレスコンピューティングリソースの量。デフォルト値は 0 で、自動推定が有効になります。0 以外の値を指定した場合、システムは指定された値と自身の推定値の 50% のうち、大きい方を使用します。

Max Cores の設定

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

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

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

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

例:

-- サーバーレスコンピューティングリソースを使用して SQL クエリを実行します。
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;

Required Cores の設定

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

より多くのサーバーレスコンピューティングリソースを割り当てることでクエリのパフォーマンスを向上させるには、次の文を実行してリソース量を指定できます。

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

  • 安定性を確保するため、Required Cores の値を指定すると、システムはリソースの最適化を実行します。SQL クエリの実行に実際に使用されるリソース量は max(required_cores, estimated_resources * 0.5) です。

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

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

例:

-- サーバーレスコンピューティングリソースを使用して SQL クエリを実行します。
SET hg_computing_resource = 'serverless';

-- サーバーレスコンピューティングのコンピューティングリソースはシステムによって推定されません。実際にリクエストされるリソース量は max(96, system_estimated_resources * 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;

Required Cores 戦略の調整

システムによって自動的に推定されるコンピューティングリソースの量が不十分または過剰であると判断した場合は、次のパラメーターを変更して Required Cores の推定戦略を調整できます。

  • このパラメーターのデフォルト値は 4 で、これは中立的なポリシーを表します。

  • システムが必要なリソースを過小評価している場合は、パラメーターの値を大きくすることができます。たとえば、値を 8 に設定すると、通常 60 CU を必要とするリクエストが 120 CU をリクエストするように調整されます。

  • システムが必要なリソースを過大評価している場合は、パラメーターの値を小さくすることができます。たとえば、値を 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;