クォータ
クォータは ClickHouse Cloud でサポートされていますが、DDL 構文を使用して作成する必要があります。以下に記載された XML 設定アプローチは サポートされていません。
クォータは、一定時間内のリソース使用量を制限したり、リソースの使用状況を追跡したりすることができます。 クォータは通常 'users.xml' というユーザー構成ファイルに設定されます。
システムには、単一のクエリの複雑さを制限する機能もあります。クエリの複雑さに関する制限セクションを参照してください。
クエリの複雑さの制限に対して、クォータは次の点が異なります:
- 単一のクエリを制限するのではなく、一定期間内に実行できるクエリのセットに制限を設けます。
- 分散クエリ処理用のすべてのリモートサーバーで消費されたリソースを考慮します。
クォータを定義する 'users.xml' ファイルのセクションを見てみましょう。
デフォルトでは、クォータはリソース消費を各時間ごとに追跡し、使用量を制限しません。 各インターバルに対して計算されたリソース消費は、各リクエストの後にサーバーログに出力されます。
'statbox' クォータでは、毎時間および毎24時間(86,400秒)の制限が設定されています。時間インターバルは、実装に定義された固定の瞬間からカウントされます。言い換えれば、24時間のインターバルは必ずしも真夜中から始まるわけではありません。
インターバルが終了すると、収集されたすべての値はクリアされます。次の1時間のために、クォータ計算は再開始されます。
制限できる項目は次の通りです:
queries
– リクエストの総数。
query_selects
– SELECT リクエストの総数。
query_inserts
– INSERT リクエストの総数。
errors
– 例外を投げたクエリの数。
result_rows
– 結果として返された行の総数。
read_rows
– すべてのリモートサーバーでクエリを実行するためにテーブルから読み取られたソース行の総数。
execution_time
– 総クエリ実行時間(秒数、ウォールタイム)。
1つ以上の時間インターバルで制限を超過した場合、どの制限が超過したのか、どのインターバルで、そして新しいインターバルがいつ始まるのか(クエリを再び送信できる時期)についてのテキストを含む例外が発生します。
クォータは "quota key" 機能を使用して、複数のキーのリソースを独立して報告することができます。次はその例です:
クォータは、構成の 'users' セクションでユーザーに割り当てられます。"アクセス権" セクションを参照してください。
分散クエリ処理の場合、蓄積された量はリクエスターサーバーに保存されます。したがって、ユーザーが別のサーバーに移動すると、そのサーバーでのクォータは「再スタート」します。
サーバーが再起動されると、クォータはリセットされます。