ルールの優先順位について
ルールは互いに競合する可能性があり、同じタイプのルールが共存する可能性があります。例として次を示します。
•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クエリ-「行制限、リクエストの有効期間、メモリ制限」のみが適用されます。