このトピックでは、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 自動ルーティング機能を使用して、実行のためにリーダー計算グループにルーティングできます。
-
|
タスクタイプ/計算グループタイプ |
リーダー計算グループ |
フォロワー計算グループ |
その他の計算グループ |
|
リアルタイム書き込み |
サポート |
サポートされていません |
サポートされていません |
|
バッチ書き込み |
サポート |
サポート |
サポート |
|
Key/Value ポイントクエリ、Prefixscan |
サポート |
サポート |
サポートされていません |
|
その他の読み取りタスク |
サポート |
サポート |
サポート |
計算グループのテーブルグループアクセス権限の表示
-
コマンドフォーマット
次の 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
データベースの名前。
-
-
例
-
HoloWeb 開発者ページに移動します。 詳細については、「HoloWeb への接続とクエリの実行」をご参照ください。
-
HoloWeb 開発者ページの上部にあるメニューバーで、Security Center をクリックします。
-
セキュリティセンターページで、左側のナビゲーションウィンドウにある 計算グループ管理 をクリックします。
-
仮想ウェアハウスリソース管理 タブで、仮想ウェアハウスの新規追加 をクリックして、
read_wh1という名前の計算グループを追加します。説明各インスタンスに対して最大 10 個の計算グループを作成できます。 各計算グループのリソースは、最小 32 CU から最大 512 CU の範囲で設定できます。 未割り当ての計算リソースが 32 CU 未満の場合、新しい計算グループは作成できません。 リソースをスケールアップするには、「計算グループのスケールアップ」をご参照ください。

-
Management on Permissions of Virtual Warehouses on Table Groups タブで、Grant Permissions to Virtual Warehouse をクリックして、
read_wh1計算グループをターゲットのテーブルグループのフォロワー計算グループとして設定します。説明テーブルグループの作成方法については、「テーブルグループの管理」をご参照ください。

-
SQL Editor で、現在の計算グループを
read_wh1に設定します。 次に、計算グループの DML 自動ルーティングを有効にした場合と無効にした場合で DML 文を実行します。-
計算グループの DML 自動ルーティングが有効な場合、DML 文は実行のためにテーブルグループのリーダー計算グループ (init_warehouse) に自動的にルーティングされます。

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

-
-