The Data Masker for DB2 UDB
Frequently Asked Questions (FAQ) List

 

This FAQ is for the DB2 UDB version of the Data Masker software. There is a separate FAQ for the Data Masker for Oracle and Data Masker for SQL Server versions.

 

Section Summary

 

Questions about What Data Masker Is and Does

[01.00] Where is the latest version of this FAQ?
[01.01] How about a summary of what Data Masker does?
[01.02] Who wrote Data Masker and why?
[01.03] Are there any Whitepapers on the subject of Data Masking?
[01.04] How can I contact the publishers of Data Masker?
[01.05] I have an idea for a new/better feature - do you want to hear about it?

 

Version and Operating System Questions

[02.01] What is the current release version of Data Masker?
[02.02] What are the PC system requirements for Data Masker?
[02.03] What are the server side requirements for Data Masker?
[02.04] What server side operating systems does Data Masker support?
[02.05] Does Data Masker work against non UDB DB2 versions?
[02.06] What DB2 UDB database versions does Data Masker support?
[02.07] What version of Data Masker am I currently using?
[02.08] How can I see or edit my activation key?
[02.09] How do I upgrade Data Masker?
[02.10] What other databases besides DB2 UDB does Data Masker support?

 

'How do I' and 'Can I' Type Questions

[03.00] What type of masking rules does Data Masker have?
[03.01] How big a table can Data Masker work on?
[03.02] Can I share my Masking Set with other users?
[03.03] Can a table have more than one Masking Rule?
[03.04] Can a column in a table have more than one Masking Rule on it?
[03.05] My database has foreign keys, can Data Masker still scramble the data?
[03.06] My database has primary keys, can Data Masker still scramble the data?
[03.07] Can I add multiple target databases to a Masking Set?
[03.08] If I have multiple target databases do they have to be in the same DB2 UDB instance?
[03.09] Can I define a Substitution Rule which uses the contents of a different table to determine which rows are updated in the primary table?
[03.10] If I update a column, can I update another column with the same value?
[03.11] Can I synchronize the data in one column of a table with the data in another column without changing the data in the first column?
[03.12] Can I apply a rule to synchronize the data between tables in different schemas?
[03.13] Can I make one rule only execute after another rule completes?
[03.14] Can I make a rule wait until a group of other rules execute?
[03.15] What types of substitution data do you offer?
[03.16] What happens if you don't have a dataset for the type of data I need?
[03.17] Can Data Masker execute multiple masking rules at the same time?
[03.18] Can Data Masker mask multiple columns within the same masking rule?

 


 

Questions about What Data Masker Is and Does

 

[01.00] Where is the latest version of this FAQ?

The latest version of the Data Masker FAQ can be found on the Data Masker web site at http://www.DataMasker.com/dm2_FAQ.htm

 

[01.01] How about a summary of what Data Masker does?

The basic function of Data Masker is to replace sensitive data in test and development databases with realistic looking but false information. This process is sometimes called Data Sanitization, Data Masking or Data Protection.

The Data Masker software provides a simple to use, push button method of securing the information in test environments. The Data Masker Key Features document contains much more information on why Data Masker is useful and how it works.

 

[01.02] Who wrote Data Masker and why?

The Data Masker software is published by Net 2000 Ltd. in order to fulfil a real need in the DB2 UDB database community. Net 2000 Ltd. also publishes other useful software.

Data Masker for Oracle
A product similar to the DB2 UDB version which scrambles and masks data in Oracle databases.
Data Masker for SQL Server
A product similar to the DB2 UDB version which scrambles and masks data in SQL Server databases.
DataBee
Software designed to create a database which is a referentially correct subset of the data in a large Oracle database.
DDL Wizard
Free software which can parse export files and re-generate the DDL build scripts from them.

 

[01.03] Are there any Whitepapers on the subject of Data Masking?

Yes there are. A really good introductory whitepaper which provides background information on the techniques, tricks and traps involved with the masking and anonymization of data can be found at the following link: Data Masking: What You Need to Know.

 

[01.04] How can I contact the publishers of Data Masker?

Any email to DataMasker@DataMasker.com will get to us. The full contact details of Net 2000 Ltd. are on this page.

 

[01.05] I have an idea for a new/better feature - do you want to hear about it?

For sure we do. Please E-mail DataMasker@DataMasker.com.

 


 

Version and Operating System Questions

 

[02.01] What is the current release version of Data Masker?

The current production release of the Data Masker for DB2 UDB software is v01.03.

 

[02.02] What are the PC system requirements for Data Masker?

Data Masker runs on the Windows 2000, Windows 2003 Server, XP, Vista, Windows 7, Windows 8 or Windows 2008 Server operating systems with the Microsoft supplied .NET 3.5 runtime environment is installed. There are no really large hardware requirements - any 1Ghz (or better) PC with more than 500Mb of memory should be sufficient. A reasonably large monitor is desirable and the screen resolution should be 1024x768 or greater.

 

The Data Masker software itself takes up very little space - 60 Mb of disk space should be more than sufficient.

 

[02.03] What are the server side requirements for Data Masker?

Not very much. Data Masker requires a small temporary table to be created in the target DB2 UDB database. This table can be deleted after the masking operation completes and will never contain more than one row for each masking rule which executes. No other components are needed. Data Masker requires no installation of software of any sort on the server and requires no server side disk space.

 

[02.04] What server side operating systems does Data Masker support?

All of them which can run DB2 UDB. Data Masker can be used to mask data on any server that will run an DB2 UDB database. Data Masker is server neutral, it runs on a PC and connects via the IBM supplied client software to the target database. The server side operating system is largely irrelevant to it.

 

[02.05] Does Data Masker work against non-UDB DB2 versions?

No, sorry. The current version of the Data Masker software only works on DB2 UDB.

 

[02.06] What DB2 UDB versions does Data Masker support?

Data Masker supports DB2 UDB versions 8.2 and greater.

 

[02.07] What version of Data Masker am I currently using?

Every copy of Data Masker contains version information in the About Data Masker form. To see this form start any Data Masker application and click on the Mask logo in the upper right hand corner.

 

[02.08] How can I see or edit my activation key?

The Activation key is visible on both the About and Key Request forms. See the FAQ question [02.07] for information on the About Data Masker form. A new evaluation or licensed activation key can be requested by pressing the Request New Key button on the About Data Masker form.

 

[02.09] How do I upgrade Data Masker?

Just get the latest version from the web site (http://www.DataMasker.com) and re-install. You do not need to uninstall first and you can skip as many versions as you wish. Your saved settings and activation keys will be preserved.

 

[02.10] What other databases besides DB2 UDB does Data Masker support?

The Oracle and SQL Server versions of Data Masker are available now. Sybase, ODBC, flat file versions are planned.

 


 

'How do I' and 'Can I' Type Questions

 

[03.00] What type of masking rules does Data Masker have?

There are a wide variety of masking rule types available.

 

Masking Rules

Substitution Rules
Substitutes the data in the column of a table. As substitution data this type of rule can use any of the supplied datasets or User Defined DataSets appropriate to the column type. This type of rule can also substitute based on a user supplied WHERE condition.
Shuffle Rules
Shuffles the data in the column of a table (like a deck of cards) and leaves the other columns untouched. This type of rule can also shuffle based on a user supplied WHERE condition.
Command Rules
This type of rule is used to run user defined SQL or T-SQL statements within the target database.

 

Synchronization Rules
Row-Internal Synchronization Rules
A Row-Internal Synchronization Rule updates a field in a row with a combination of values from the same row.
Table-Internal Synchronization Rules
A Table-Internal Synchronization Rule updates columns in groups of rows within a table to contain identical values.
Table-To-Table Synchronization Rules
A Table-To-Table Synchronization Rule uses a join condition to update columns in another table to contain identical values.

 

Specialized Rules

Rule Controller
A Rule Controller contains login information. Rule Controllers tell their dependent masking rules which server and database they should connect to in order to perform their actions. All other types of masking rule must have a parent Rule Controller and every masking set must contain at least one Rule Controller.
Insertion Rules
Inserts new rows into table columns. This type of rule can use as insertion data any of the available datasets appropriate to the column type.
Foreign Key Enable Rules
Enables foreign keys in the target database. Each foreign key can be individually marked for enable. Usually used after a Foreign Key Disable Rule has run.
Foreign Key Disable Rules
Disables foreign keys in the target database. Usually followed by a Foreign Key Enable Rule after the other masking rules have run.

 

[03.01] How big a table can Data Masker work on?

There is no size limit really. The masking process is broken up into reasonably sized chunks so that you do not need to worry about excessive resource consumption on the client PC or on the server.

 

[03.02] Can I share my Masking Set with other users?

Sure. It is designed for this. However, be aware that Masking Sets are designed for a specific purpose and will operate against a designated database. If you share the Masking Set you should be sure that the recipient really knows what the set will do and wants the data in the target database changed in that way.

 

[03.03] Can a table have more than one Masking Rule?

Absolutely, in fact this is the usual case. Place as many Masking Rules on a table as you need to scramble the data in the columns.

 

[03.04] Can a column in a table have more than one Masking Rule on it?

Yes you can. This is frequently done if WHERE Clause options are used.

 

[03.05] My database has foreign keys, can Data Masker still scramble the data?

Yes it can, use a Table-To-Table Synchronization rule to perform the appropriate update.

 

[03.06] My database has primary keys, can Data Masker still scramble the data?

Yes it can, but you will have to ensure that you update the primary key column with unique data that is not already in use in the primary or unique key. Many data sets have options for this purpose.

 

[03.07] Can I add multiple target databases to a Masking Set?

Yes, the Data Masker software handles this function transparently. Just create a new Rule Controller for each new DB2 UDB database.

 

[03.08] If I have multiple target databases do they have to be in the same DB2 UDB instance?

No, a Rule Controller controls the database on which its dependent masking rules operate. It does not matter if they are in the same DB2 UDB instance or not or if the DB2 UDB instances are of the same version.

 

[03.09] Can I define a Substitution Rule which uses the contents of a different table to determine which rows are updated in the primary table?

This situation often happens. Take the example of a CUSTOMER table in which you wish to substitute first names based on the contents of the GENDER column held in the CUSTOMER_DETAILS table. The join condition between the tables is the mutual CUSTOMER_ID column. In other words, you want to substitute Female first names in the CUSTOMER table everywhere the equivalent row in the CUSTOMER_DETAILS.GENDER field is 'F'.

This is quite possible to do using only a slightly more complex WHERE Clause. Notice the way the pseudo code of the first part of the WHERE CLAUSE is written (just above the bit you type in). It is written in the form:

select <rows> from DM_TEST.CUSTOMER DTB1

Well normally you just put WHERE <and then your condition>. However, it is quite possible to make a slightly more complex Select referencing the DTB1 alias. Using the WHERE Clause below only the rows from the CUSTOMER table based on an 'F' in the CUSTOMER_DETAILS table could be selected (and hence substituted). Note the leading comma - it is required to make the syntax valid - just as it would in any SQL statement.

, CUSTOMER_DETAILS DMG WHERE DMG.GENDER='F' and DMG.CUSTOMER_ID=DTB1.CUSTOMER_ID;

Anything valid in a normal SQL Where clause is valid in a Data Masker Where Clause rule: embedded subqueries, correlated subqueries, UNIONs, selects via dblink, views etc.

 

[03.10] If I update a column, can I update another column with the same value?

Yes. This is called synchronization and there are three basic types: Row-Internal, Table-Internal and Table-To-Table. The Data Masker software supports all three types and contains a specific rule to enable each one.

 

[03.11] Can I synchronize the data in one column of a table with the data in another column without changing the data in the first column?

Sure. Just use a Table-To-Table Synchronization rule.

 

[03.12] Can I apply a rule to synchronize the data between tables in different schemas?

Yes, as long as the schemas are in the same DB2 UDB database and the Rule Controller login has the access rights to update the target table. This is just a variation on a standard Table-To-Table Synchronization rule.

 

[03.13] Can I make one rule only execute after another rule completes?

Yes, just make it dependent on the parent rule. The rule will not execute until the parent successfully completes. The Rule Blocks and Dependencies help page contains a detailed discussion of this feature.

 

[03.14] Can I make a rule wait until a group of other rules execute?

Yes, just put it in a different rule block. Rule blocks execute in strict numeric order so if the rule is in a higher numbered rule block it will not execute until all of the lower rule blocks complete. The Rule Blocks and Dependencies help page contains a detailed discussion of this feature.

 

[03.15] What types of substitution data do you offer?

A wide variety. We offer pre-built datasets for just about every need. The current list can be found on the datasets help page.

 

[03.16] What happens if you don't have a dataset for the type of data I need?

Talk to us. We are always willing to build datasets if the values it produces would be useful to the wider Data Masker community. If your requirement is extremely specialized, you can easily build your own datasets - or we will provide advice on how to generate the values you need from the existing datasets.

 

[03.17] Can Data Masker execute multiple masking rules at the same time?

Yes, up to eight rules can execute simultaneously. Rule Blocks and Dependencies can be used to control the execution order of the rules since it often happens that certain rules must complete before others are permitted to run.

 

[03.18] Can Data Masker mask multiple columns within the same masking rule?

Yes, an arbitrary number of columns can be masked within the same rule. For example, a single Substitution rule could mask the data in the FIRST_NAME, LAST_NAME, ADDRESS, BIRTH_DATE and PHONE_NUMBER columns. Each column can have an individual dataset configured and the rule only makes a single pass through the table.