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

Hologres:アダプティブサーバーレスコンピューティング

最終更新日:Oct 16, 2025

予測不能な読み取りおよび書き込みリクエストは、専用型インスタンスのリソースを突然枯渇させ、他の操作に影響を与える可能性があります。この問題に対処するため、Hologres V3.1 ではアダプティブサーバーレスコンピューティングが導入されました。この機能は、大規模なクエリを自動的に識別し、サーバーレスリソースを動的に割り当てて実行することで、安定性とリソース使用率を向上させます。

仕組み

SQL クエリが消費するサーバーレスリソースは、インスタンスのサーバーレスリソースクォータ、クエリごとに許可される最大サーバーレスリソース、およびクエリが必要とするサーバーレスリソースの 3 つの要素の最小値によって決まります。Hologres は、SQL の複雑さとデータサイズに基づいて、必要なリソースを見積もります。

アダプティブサーバーレスコンピューティングでは、ユーザーが使用量のしきい値を定義できます。クエリが必要とするサーバーレスリソースがこれらのしきい値を超えると、「大きなタスク」として通知されます。その後、Hologres はこれらのタスクを自動的にルーティングし、サーバーレスリソース上で実行します。

機能の使用

リソースのしきい値には、絶対値とパーセンテージの 2 種類を定義できます。クエリに必要なサーバーレスリソースが両方のしきい値を超えた場合、Hologres はクエリを自動的にサーバーレスコンピューティングにルーティングします。

  • アダプティブサーバーレスコンピューティングを有効にする

    hg_enable_adaptive_serverless_computinghg_adaptive_serverless_computing_enable_big_query_isolation の両方を on に設定します。

    -- セッションレベルで有効にする
    SET hg_enable_adaptive_serverless_computing = on;
    SET hg_adaptive_serverless_computing_enable_big_query_isolation = on;
    
    -- ユーザーレベルで有効にする
    ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_enable_adaptive_serverless_computing = on;
    ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_adaptive_serverless_computing_enable_big_query_isolation = on;
    
    -- データベースレベルで有効にする
    ALTER DATABASE <db_name> SET hg_enable_adaptive_serverless_computing = on;
    ALTER DATABASE <db_name> SET hg_adaptive_serverless_computing_enable_big_query_isolation = on;
  • しきい値を変更します。次の条件が満たされると、クエリは自動的にサーバーレスリソースを使用します: 必要なサーバーレスリソース > max(比率のしきい値, パーセンテージのしきい値)

    • hg_adaptive_serverless_computing_min_resource_ratio_threshold: パーセンテージのしきい値の係数。デフォルト: 0.3

      • 仮想ウェアハウスインスタンスの場合: パーセンテージのしきい値 = 係数 * 仮想ウェアハウスの予約済みリソース

      • 汎用インスタンスの場合: パーセンテージのしきい値 = 係数 * 予約済みインスタンスリソース

    • hg_adaptive_serverless_computing_min_cores_threshold: 絶対しきい値。デフォルト: 256

    -- セッションレベルで変更
    SET hg_adaptive_serverless_computing_min_resource_ratio_threshold = 0.3;
    SET hg_adaptive_serverless_computing_min_cores_threshold = 256;
    
    -- ユーザーレベルで変更
    ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_adaptive_serverless_computing_min_resource_ratio_threshold = 0.3;
    ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_adaptive_serverless_computing_min_cores_threshold = 256;
    
    -- データベースレベルで変更
    ALTER DATABASE <db_name> SET hg_adaptive_serverless_computing_min_resource_ratio_threshold = 0.3;
    ALTER DATABASE <db_name> SET hg_adaptive_serverless_computing_min_cores_threshold = 256;

機能がトリガーされたかどうかの確認

アダプティブサーバーレスコンピューティングは、クエリの見積もりリソースに基づいてトリガーされます。この動作を確認するには、組み込みのリソース見積もり関数を使用します。この関数は、必要と見積もられたサーバーレスリソースを返し、現在の構成に基づいてアダプティブサーバーレスコンピューティングが有効になるかどうかを示します。

-- SQL 文で単一引用符のエスケープが不要な場合は、この構文を使用します。
SELECT * FROM hologres.hg_estimate_adaptive_serverless_computing('select * from tbl;');

-- SQL 文で単一引用符のエスケープが必要な場合は、この構文を使用します。
SELECT * FROM hologres.hg_estimate_adaptive_serverless_computing($$insert into test_tbl_dst_1 select * from test_tbl_src;$$);

この関数は次の値を返します:

戻り値名

説明

estimated_cores

クエリに必要と見積もられたサーバーレスリソース。

status

現在の構成で、アダプティブサーバーレスコンピューティングがクエリをサーバーレスリソースにルーティングするかどうかを示します。

  • eligible: クエリが両方のしきい値に達し、サーバーレスリソース上で自動的に実行されます。

  • ineligible: クエリが少なくとも 1 つのしきい値を満たしていないため、予約済み (専用型) インスタンスリソースを使用します。

  • invalid: このクエリではサーバーレスコンピューティングは利用できません。予約済み (専用型) インスタンスリソースを使用します。

adaptive_serverless_computing_min_ratio_threshold

パーセンテージのしきい値の係数。

adaptive_serverless_computing_min_cores_threshold

絶対しきい値。