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

Hologres:計算グループへのデータアクセス権限の付与

最終更新日:Feb 04, 2026

このトピックでは、Hologres の計算グループにデータアクセス権限を付与する方法について説明します。

注意事項

  • 計算グループ A でテーブルグループを作成すると、そのテーブルグループのデフォルトのリーダー計算グループとして計算グループ A が設定されます。

  • メモリの状態は、計算グループ間でミリ秒レベルでリアルタイムに同期されます。 リーダー計算グループにデータを書き込むと、システムはリーダー計算グループのメモリからフォロワー計算グループにデータを自動的に同期します。 このプロセスでは、フォロワー計算グループで少量の CPU とメモリのオーバーヘッドが発生します。 計算グループ間の構成の差は大きくすべきではありません。 4 倍を超える差は推奨されません。

  • インスタンスのデフォルトの計算グループのみが外部テーブルにデータを書き込むことができます。

  • Hologres V2.0 では、計算グループは次のようにデータの読み取りおよび書き込みタスクをサポートします:

    • テーブルグループがロードされている計算グループ (フォロワー計算グループ) は、そのテーブルグループ内のテーブルに対して読み取りタスクのみを実行できます。 書き込みタスクはサポートされていません。

    • テーブルグループのリーダーとして設定された計算グループ (リーダー計算グループ) は、そのテーブルグループ内のテーブルに対して読み取りおよび書き込みタスクを実行できます。

    • テーブルグループをロードしていない計算グループは、対応するテーブルグループからのデータの読み取りや書き込みはできません。

  • Hologres V4.0 は、アップグレードされた計算グループインスタンスアーキテクチャを特徴としています。 次のようにデータの読み取りおよび書き込みタスクをサポートします:

    • Grand Unified Configuration (GUC) パラメーター hg_warehouse_enable_use_local_resource を有効にする必要があります。 詳細については、「GUC パラメーター」をご参照ください。

    • Fixed Plan によって最適化されていない読み取りおよび書き込みタスクは、テーブルグループを計算グループにロードせずに実行できます。

    • Fixed Plan によって最適化できる読み取りおよび書き込みタスクについては、「Fixed Plan による SQL 実行の高速化」をご参照ください。

    • リアルタイム書き込みやバッチ書き込みなどのすべての書き込みタスクは、DML 自動ルーティング機能を使用して、実行のためにリーダー計算グループにルーティングできます。

タスクタイプ/計算グループタイプ

リーダー計算グループ

フォロワー計算グループ
(テーブルグループがロード済み)







その他の計算グループ
(テーブルグループが未ロード)







リアルタイム書き込み
(Fixed Plan によって最適化された書き込みタスク)







サポート

サポートされていません

サポートされていません

バッチ書き込み
(Fixed Plan によって最適化されていない書き込みタスク)







サポート

サポート
(Hologres V4.0 の機能、GUC を有効にする必要があります)







サポート
(Hologres V4.0 の機能、GUC を有効にする必要があります)







Key/Value ポイントクエリ、Prefixscan
(Fixed Plan によって最適化された読み取りタスク)







サポート

サポート

サポートされていません

その他の読み取りタスク
(Fixed Plan によって最適化されていない読み取りタスク)







サポート

サポート

サポート
(Hologres V4.0 の機能、GUC を有効にする必要があります)







計算グループのテーブルグループアクセス権限の表示

  • コマンドフォーマット

    次の SQL 文を使用して、現在のインスタンス内のすべての計算グループのテーブルグループ権限を表示できます。

    SELECT * FROM hologres.hg_warehouse_table_groups;
  • 説明

    hg_warehouse_table_groups テーブルには、次の列が含まれています:

    データ型

    説明

    warehouse_name

    TEXT

    計算グループの名前。

    init_warehouse

    warehouse_id

    INTEGER

    計算グループの ID。 この ID は一意です。

    1

    database_name

    TEXT

    データベースの名前。

    wh_demo

    tablegroup_name

    TEXT

    テーブルグループの名前。

    wh_demo_tg_default

    leader

    BOOLEAN

    計算グループがテーブルグループのリーダー計算グループであるかどうかを示します。

    t

    replica_count

    INTEGER

    レプリカ数。

    1

計算グループへのテーブルグループのロード (テーブルグループのフォロワー計算グループの設定)

テーブルグループを計算グループにロードすると、その計算グループはテーブルグループのフォロワー計算グループになります。

  • 計算グループは、テーブルグループが計算グループにロードされた後にのみ、そのテーブルグループ内のテーブルを操作できます。

  • テーブルグループを計算グループにロードするには、インスタンスの Superuser 権限が必要です。

  • コマンドフォーマット:

    CALL hg_table_group_load_to_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>', <replica_count>);
  • パラメーター:

    パラメーター

    説明

    database_name

    TEXT

    データベースの名前。

    table_group_name

    TEXT

    テーブルグループの名前。

    warehouse_name

    TEXT

    テーブルグループをロードする計算グループの名前。

    replica_count

    INTEGER

    レプリカ数。 デフォルト値は 1 です。 このパラメーターはオプションです。

  • 例:

    -- db1 データベースの table_group_1 を、1 つのレプリカで warehouse_1 計算グループにロードします。
    CALL hg_table_group_load_to_warehouse ('db1.table_group_1', 'warehouse_1');
    -- db1 データベースの table_group_1 を、2 つのレプリカで warehouse_1 計算グループにロードします。
    CALL hg_table_group_load_to_warehouse ('db1.table_group_1', 'warehouse_1',2);

テーブルグループのリーダー計算グループの設定

  • 注意事項

    • リーダー計算グループのみが、テーブルグループ内のテーブルに対してデータの書き込みなどの DML 操作を実行できます。

    • テーブルグループは、リーダー計算グループを 1 つしか持つことができません。 テーブルグループのリーダー計算グループを変更すると、新しいリーダー計算グループを再起動する必要があります。 ご利用のサービスへの潜在的な影響にご注意ください。

    • テーブルグループのリーダー計算グループを設定するには、インスタンスの Superuser 権限が必要です。

  • コマンドフォーマット

    CALL hg_table_group_set_leader_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>');
  • パラメーター

    パラメーター

    説明

    database_name

    TEXT

    データベースの名前。

    table_group_name

    TEXT

    テーブルグループの名前。

    warehouse_name

    TEXT

    リーダーとして設定する計算グループの名前。

計算グループからのテーブルグループのアンロード

  • 注意事項

    • 計算グループからテーブルグループをアンロードするには、インスタンスの Superuser 権限が必要です。

    • リーダー計算グループからテーブルグループをアンロードすることはできません。 まずリーダー計算グループを変更する必要があります。

  • コマンドフォーマット

    CALL hg_table_group_unload_from_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>');
  • パラメーター

    パラメーター

    説明

    database_name

    TEXT

    データベースの名前。

    table_group_name

    TEXT

    テーブルグループの名前。

    warehouse_name

    TEXT

    テーブルグループをアンロードする計算グループの名前。

計算グループにロードされたテーブルグループのレプリカ数の変更

  • 計算グループ内のテーブルグループのレプリカ数を変更するには、インスタンスの Superuser 権限が必要です。

  • コマンドフォーマット

    CALL hg_table_group_set_warehouse_replica_count ('<database_name>.<table_group_name>', <replica_count>,'<warehouse_name>');
  • パラメーター

    パラメーター

    説明

    database_name

    TEXT

    データベースの名前。

    table_group_name

    TEXT

    テーブルグループの名前。

    replica_count

    INTEGER

    レプリカ数。

    warehouse_name

    TEXT

    レプリカ数を変更する計算グループの名前。

計算グループの DML 自動ルーティング (ベータ版)

  • 注意事項

    テーブルグループはリーダー計算グループを 1 つしか持つことができず、そのリーダー計算グループのみがテーブルグループに対して DML 操作を実行できます。 Hologres V2.2 以降では、DML 操作をテーブルグループのリーダー計算グループに自動的にルーティングできます。 この機能が有効になっている場合、書き込みタスクは自動的にリーダー計算グループのリソースを使用して実行されます。 ただし、書き込みタスクのクエリ/秒 (QPS) などのメトリックは、引き続きフォロワー計算グループに記録されます。

    説明

    複数 DML 混合トランザクション機能を有効にすると、計算グループの DML 自動ルーティング機能は使用できません。 複数 DML 混合トランザクション機能の詳細については、「SQL トランザクション機能」をご参照ください。

  • 計算グループの DML 自動ルーティングの有効化または無効化

    次の GUC パラメーターを使用して、セッションレベルまたはデータベースレベルで計算グループの DML 自動ルーティングを有効または無効にできます。

    説明

    計算グループの DML 自動ルーティングの GUC パラメーター hg_experimental_enable_warehouse_dml_auto_routing は、デフォルトで有効になっています。

    • セッションレベル

      -- 計算グループの DML 自動ルーティングを有効にします。
      SET hg_experimental_enable_warehouse_dml_auto_routing = ON;
      
      -- 計算グループの DML 自動ルーティングを無効にします。
      SET hg_experimental_enable_warehouse_dml_auto_routing = OFF;
    • データベースレベル

      -- 計算グループの DML 自動ルーティングを有効にします。
      ALTER DATABASE <database_name> SET hg_experimental_enable_warehouse_dml_auto_routing = ON;
      
      -- 計算グループの DML 自動ルーティングを無効にします。
      ALTER DATABASE <database_name> SET hg_experimental_enable_warehouse_dml_auto_routing = OFF;

      パラメーター

      パラメーター

      説明

      database_name

      TEXT

      データベースの名前。

    1. HoloWeb 開発者ページに移動します。 詳細については、「HoloWeb への接続とクエリの実行」をご参照ください。

    2. HoloWeb 開発者ページの上部にあるメニューバーで、Security Center をクリックします。

    3. セキュリティセンターページで、左側のナビゲーションウィンドウにある 計算グループ管理 をクリックします。

    4. 仮想ウェアハウスリソース管理 タブで、仮想ウェアハウスの新規追加 をクリックして、read_wh1 という名前の計算グループを追加します。

      説明

      各インスタンスに対して最大 10 個の計算グループを作成できます。 各計算グループのリソースは、最小 32 CU から最大 512 CU の範囲で設定できます。 未割り当ての計算リソースが 32 CU 未満の場合、新しい計算グループは作成できません。 リソースをスケールアップするには、「計算グループのスケールアップ」をご参照ください。

      image

    5. Management on Permissions of Virtual Warehouses on Table Groups タブで、Grant Permissions to Virtual Warehouse をクリックして、read_wh1 計算グループをターゲットのテーブルグループのフォロワー計算グループとして設定します。

      説明

      テーブルグループの作成方法については、「テーブルグループの管理」をご参照ください。

      image

    6. SQL Editor で、現在の計算グループを read_wh1 に設定します。 次に、計算グループの DML 自動ルーティングを有効にした場合と無効にした場合で DML 文を実行します。

      • 計算グループの DML 自動ルーティングが有効な場合、DML 文は実行のためにテーブルグループのリーダー計算グループ (init_warehouse) に自動的にルーティングされます。

        image

      • 計算グループの DML 自動ルーティングが無効な場合、DML 文はテーブルグループのリーダー計算グループ (init_warehouse) にルーティングされません。 代わりに、現在の計算グループ (read_wh1) によって実行されます。 テーブルグループ内のテーブルに対して DML 操作を実行できるのはリーダー計算グループのみであるため、エラーが発生します。

        image