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

概要

ワークロード管理は、Dorisの非常に重要な機能であり、システム全体の管理において重要な役割を果たします。合理的なワークロード管理戦略により、リソース使用率を最適化し、システムの安定性を向上させ、応答時間を短縮することができます。以下の機能があります:

  • リソース分離:複数のグループに分割し、各グループにリソース(CPU、Memory、IO)の制限を設定することで、複数のユーザーまたは同一ユーザーの異なるタスク(読み取りおよび書き込み操作など)間の干渉がないことを保証します。

  • 同時実行制御とキューイング:クラスター全体で同時に実行できるタスク数を制限できます。閾値を超えた場合、タスクはキューイングされます。

  • Circuit Breaker:クエリ計画フェーズまたは実行フェーズにおいて、読み取り予定のパーティション数の推定値、スキャンするデータ量、割り当てられるメモリサイズ、実行時間などの条件に基づいて、タスクを自動的にキャンセルできます。これにより、非合理的なタスクが過度にシステムリソースを占有することを回避します。

リソース分離方法

Dorisは以下の3つの方法でリソースを分割できます:

  • Resource Group:複数のBEプロセスをグループに分割し、各BEにtagを設定します。

  • Workload Group:BE内のリソース(CPU、Memory、IO)をCgroupを通じて複数のリソースグループに分割し、より細かいリソース分離を実現します。

以下の表は、異なるリソース分割方法の特性と有利なシナリオを記録しています:

リソース分離方法分離粒度Soft/Hard LimitCross Resource Group Query
Resource GroupBEノードレベル、完全なリソース分離、BE障害を分離可能Hard limitサポートしません。また、リソースグループ内に少なくとも1つのデータコピーが保存されていることを確認する必要があります。
Workload GroupBEプロセス内の分離;BE障害は分離できませんHard limitとsoft limitの両方サポート

Soft LimitとHard Limit

  • Hard Limit:hard limitは、テナントが超えることのできないリソース使用量の絶対的な上限を指します。hard limitに達すると、超過部分のリソース要求は拒否されます。hard limitは一般的に、クラスター内のリソースの枯渇や異なるビジネス間のリソース奪取を防ぐために使用され、クラスターの安定性とパフォーマンスを保証します。

  • Soft Limit:soft limitは超過可能なリソース制限であり、通常はリソース使用量の推奨上限を表します。システムが忙しくない場合、テナントがsoft limitを超えるリソースを要求すると、他のグループからリソースを借用できます。システムが忙しくリソース競合がある場合、テナントがsoft limitを超えるリソースを要求しても、追加のリソースを取得できません。

Resource Group / Compute Groupの方法でリソースを分割する場合、hard limitモードのみサポートされます。Workload Groupの方法でリソースを分割する場合、Workload Groupのsoft limitとhard limitの両方がサポートされます。Workload Groupのsoft limitは通常、一時的なクエリピークや短期間のデータ書き込み増加など、突発的なリソース制御に使用されます。