Table of Contents

Search

  1. Preface
  2. Introduction to Dynamic Data Masking Administration
  3. Authentication
  4. Security
  5. Connection Management
  6. JDBC Client Configuration
  7. ODBC Client Configuration
  8. Configuration for MicroStrategy
  9. Access Control
  10. Logs
  11. High Availability
  12. Server Control
  13. Performance Tuning
  14. Troubleshooting
  15. Appendix A: Database Keywords

Administrator Guide

Administrator Guide

Rule Performance Factors

Rule Performance Factors

When you configure Dynamic Data Masking rules, consider the types of rules that you create and the types of queries that you send to the database in order to increase efficiency and accurately measure Dynamic Data Masking overhead.
The following factors affect Dynamic Data Masking processing time:
Rule efficiency
Define a precise rule matcher to ensure that Dynamic Data Masking only applies the rule to the necessary queries. You can use the Regular Expression Text matcher to determine whether the query contains the relevant table. The Text matcher requires minimal processing time compared to other matchers, such as the PL/SQL Function matcher and the SQL Syntax matcher.
Size of the query
The size of the database query affects how long it takes Dynamic Data Masking to parse the query. Longer queries take longer to parse, and therefore increase processing time.
The following table lists the Dynamic Data Masking overhead for different query sizes. The overhead percentages are for query execution, not end to end transactions.
Query Size
Overhead
Small query
Example:
SELECT c_data FROM ddmuser1.sybcustomer
10% to 30%
Medium query
Example:
SELECT c_data FROM ddmuser1.sybcustomer order by c_id
20% to 40%
Large query
Example:
select c_data from ddmuser1.sybcustomer where c_id in (select c_id from ddmuser1.sybcustomer)
30% to 60%
Result set size
A larger result set size does not increase Dynamic Data Masking overhead because Dynamic Data Masking does not create additional work for the database. If you measure Dynamic Data Masking overhead as a percentage of the total time it takes to return the result set, the overhead percentage decreases as the result set size increases. Therefore, if you execute a query without fetching a result set, the overhead percentage is higher than it would be for an end to end transaction.
In stored procedure masking, the result set size does increase overhead because Dynamic Data Masking must create temporary tables and populate the tables with masked data.
Complexity of the rules
Complex rules increase Dynamic Data Masking processing time. For example, if you want to mask all the columns in a table named table1, which has five columns, you send the following query to the database:
SELECT col1, col2, col3, col4, col5 from table1;
You can configure Dynamic Data Masking rules to mask the output in multiple ways, including the following options:
  • Option 1. Create one rule that masks every column if the table name is table1.
  • Option 2. Create a rule folder that has five rules. Each rule matches the table name and a column name, and masks the column.
Option 2 increases processing time because there are more masking rules. Simple, efficient rules, such as the rule in Option 1, reduce processing time.
Performance of the rewritten query
When Dynamic Data Masking rewrites the original database query, the rewritten query is not optimized. For example, the rewritten query may have a GROUP BY or ORDER BY clause that increases processing time.

0 COMMENTS

We’d like to hear from you!