メインコンテンツまでスキップ

CREATE RESOURCE GROUP

リソースグループの作成

説明

リソースグループを作成します。

詳細については、リソースグループを参照してください。

構文

CREATE RESOURCE GROUP リソースグループの名前
TO クラシファイア1, クラシファイア2, ...
WITH リソース制限

パラメータ

  • リソースグループの名前: 作成するリソースグループの名前です。

  • クラシファイア: リソース制限が適用されるクエリをフィルタリングするために使用するクラシファイアです。"キー"="値"のペアを使用してクラシファイアを指定する必要があります。リソースグループに複数のクラシファイアを設定することができます。クラシファイアのパラメータは以下のとおりです:

    パラメータ

    必須

    説明

    user

    いいえ

    ユーザーの名前です。

    role

    いいえ

    ユーザーの役割です。

    query_type

    いいえ

    クエリのタイプです。SELECTおよびINSERT(v2.5以降)がサポートされています。query_typeinsertに設定したリソースグループにINSERTタスクが当たると、BEノードはタスクに対して指定されたCPUリソースを予約します。

    source_ip

    いいえ

    クエリが開始されるCIDRブロックです。

    db

    いいえ

    クエリがアクセスするデータベースです。カンマ(,)で区切られた文字列で指定できます。

  • リソース制限: リソースグループに課せられるリソース制限です。"キー"="値"のペアを使用してリソース制限を指定する必要があります。リソースグループに複数のリソース制限を設定することができます。リソース制限のパラメータは以下のとおりです:

    パラメータ

    必須

    説明

    cpu_core_limit

    いいえ

    BE上のリソースグループに割り当てられるCPUコアの数の上限です。実際のビジネスシナリオでは、CPUコアはBE上のCPUコアの利用可能性に応じて比例して割り当てられます。有効な値: 0以外の任意の正の整数。

    mem_limit

    いいえ

    BEが提供する総メモリのうち、クエリに使用できるメモリの割合です。単位: %。有効な値: (0, 1)。

    concurrency_limit

    いいえ

    リソースグループ内の同時クエリの上限です。システムの過負荷を防ぐために使用されます。

    big_query_cpu_second_limit

    いいえ

    ビッグクエリのCPU占有時間の上限です。同時クエリは時間を加算します。単位は秒です。

    big_query_scan_rows_limit

    いいえ

    ビッグクエリによってスキャンできる行数の上限です。

    big_query_mem_limit

    いいえ

    ビッグクエリのメモリ使用量の上限です。単位はバイトです。

    type

    いいえ

    リソースグループのタイプです。有効な値:

    short_query:short_queryリソースグループのクエリが実行されている場合、BEノードはshort_query.cpu_core_limitで定義されたCPUコアを予約します。normalリソースグループのCPUコアは、すべてのnormalリソースグループに対して"総CPUコア数 - short_query.cpu_core_limit"の制限がかけられます。

    short_queryリソースグループはクラスタ内で1つだけ作成できることに注意してください。

例1: 複数のクラシファイアに基づいてリソースグループrg1を作成します。

CREATE RESOURCE GROUP rg1
TO
(user='rg1_user1', role='rg1_role1', query_type in ('select'), source_ip='192.168.x.x/24'),
(user='rg1_user2', query_type in ('select'), source_ip='192.168.x.x/24'),
(user='rg1_user3', source_ip='192.168.x.x/24'),
(user='rg1_user4'),
(db='db1')
WITH ('cpu_core_limit' = '10',
'mem_limit' = '20%',
'type' = 'normal',
'big_query_cpu_second_limit' = '100',
'big_query_scan_rows_limit' = '100000',
'big_query_mem_limit' = '1073741824'
);