管理ガイド> TDVワークロード管理の使用> ルールの優先順位について
 
ルールの優先順位について
ルールは互いに競合する可能性があり、同じタイプのルールが共存する可能性があります。例として次を示します。
TDV Serverは、より制限の厳しいルールよりも最も具体的なルールを実装することを選択します。
リソースに特定のルールがない場合、同じルールタイプで、フィルター制限が異なるルールの中から、より制限の厳しいルールが選択されます。
特定のサードパーティクライアントがWLMを実行すると、メッセージと場合によってはアクションがデータ結果セットにキャプチャされます。 (例:JDBC、ODBC、ADO.NET、SOAP、REST)
JDBCクライアントの場合、SQLWarningを使用します。
SOAPの場合、警告はSOAP障害を介して返されます。
RESTの場合、「警告」json要素を介して返すことができます。
WLMルールが定義されている複数の公開されたリソースに対してクエリを実行すると、各リソースに定義されているルール間で競合が発生する可能性があります。たとえば、emp_viewには全表スキャンルールが定義されており、salary_viewには行制限ルールが定義されています。emp_viewとsalary_viewの両方からデータを選択するクエリを実行すると、ルールが異なると、クエリの通常の実行方法に競合が発生します。これらの競合の一部は、競合中にルールが優先される順序を理解することで回避できます。競合は、2つのルールが同じユーザーの同じリソースに適用され、異なるフィルター定義または異なるアクションタイプを持つ場合に発生します。
全表スキャンとクロス結合は、最初にチェックするルールです。
例外アクションのあるルールは最後に実行されます。
maxRowLimitが競合している場合、より制限の厳しいルールが使用されます。
いずれかのルールで全表スキャンがtrueに設定されている場合、全表スキャンがtrueであるルールが使用されます。
1つのルールでのみクロス結合がtrueに設定されている場合、クロス結合がtrueであるルールが使用されます。
maxRequestTimeとmaxRequestTimeUnitが2つのルールで競合する場合、より制限の厳しいルールが使用されます。
異なるリソースが同じユーザーに対して異なるmemoryLimitPercentageルールを持っている場合、最も制限の厳しいルールが使用されます。
グローバルルール(リソース割り当てがnullの場合)がリソースr1、r2の特定のルールと共存する場合:r1およびr2の場合、特定のルールが選択され、その他すべてのルールが選択されます。リソースには、グローバルルールが使用されます。
リソースとその子孫に複数のルールが共存できます。その場合、子孫のルールは、親リソースのルールと比較して、より具体的なルールと見なされます。
グローバルルール(nullメンバー割り当てあり)がユーザーu1、u2の特定のルールと共存する場合:u1、u2の場合、特定のルールが選択され、その他すべての場合ユーザーの場合、グローバルルールが使用されます。
ユーザーは複数のグループメンバーシップを持つことができます。 2つのルールが異なるグループに存在するが、同じユーザーu1に適用できる場合、特定のリソースのユーザーに対して最も制限の厳しいルールが選択されます。
アクションタイプ、フィルター、リソース、またはメンバーの割り当てが異なる場合、ルールの作成が許可され、実行時に最も効果的、制限的、または特定のルールが選択されますルール違反チェック中。
アクションタイプが2つのルールで異なり、同じフィルターと同じリソース/メンバーの割り当てがあり、それらのルールの1つが既に存在する場合、2番目のルールは許可されません。作成されます。競合を示すエラーが発生します。
重複するルールを作成することはできません。同様に、既存のルールを別の既存のルールと同一に見えるように更新することは許可されていません。
TDV Managerのワークロード管理ページには、任意のユーザーの効果的なルールを表示するオプションがあります。 WLM権限を持つユーザーは、この操作を実行できます。
以下に示すWLMルールタイプは、次のリソースがWebサービスとして公開されている場合に適用されます。
-/services/webservices/publishTable –すべてのルールが適用されます。
-/services/webservices/publishView-すべてのルールが適用されます。
-/services/webservices/publishTransformation –「行制限、リクエストの有効期間、メモリ制限」のみが適用されます。
-/services/webservices/published_script-「行制限、リクエストの有効期間、メモリ制限」のみが適用されます。
-/services/webservices/Published_packageクエリ-「行制限、リクエストの有効期間、メモリ制限」のみが適用されます。