User Community Service Desk Downloads
If you can't find the product or version you're looking for, visit support.ataccama.com/downloads

Performance Tuning

The following parameters are expert settings only. Only very advanced users can decide the right value for most settings and there is no guarantee of improved performance when a particular parameter is used.

JVM parameters

The most relevant Java Virtual Machine (JVM) settings are described in JVM configuration.

XMX memory settings

MDM uses both heap space (XMX memory) and non-heap space. The size of XMX memory should not exceed 70% of physical memory.

Runtime and steps performance tuning

It is possible to pass various runtime parameters in bulk in a runtime properties file or create a performance file for any plan.

In case of MDM, take note of the specific parameters used to configure parallelism of the Matching step, as described in the following section.

Matching step performance tuning

The Matching step can have the parallelism set on three levels -partition, key, and matching rule- with the following parameters:

  • mduPartitionParallelism: Partitions defined in the Matching step are processed in parallel.

  • mduKeyParallelism: Key rules defined within each partition are processed in parallel.

  • mduMatchParallelism: Matching rules defined within each key rule are processed in parallel.

Allowed values:

  • 0 - Parallelism disabled (default).

  • 1 - Parallelism enabled.

runtime.properties
...
mduPartitionParallelism=1
mduKeyParallelism=1
mduMatchParallelism=1
...

Once the parallelism is enabled, it is the actual number of Partitions, Key Rules, and Match Rules in the Matching step configuration that determines the resulting level of parallelism.

For example, if there are two partitions, five keys, and ten matching rules configured, and the parallelism is set on all 3 levels, as in the example settings (with all 3 parameters set to 1), the overall parallelism will require 100 threads.

Setting parallelism on step level

While it is possible to specify a global parallelism value that will be used by any Matching step, it is also possible to specify each parallelism setting separately for each Matching step with a specific notation.

For example, the following setting will be applied only on the Matching step whose ID is Party Matching.

Party\ Matching.mduPartitionParallelism=1
Spaces must be escaped using a backward slash (\). For example, Party Matching step has to be written as Party\ Matching.

It is also possible to combine both global and step-specific settings.

runtime.properties
...
### Global Matching Parallelism Settings ###
mduPartitionParallelism=1
mduKeyParallelism=1
mduMatchParallelism=1
...
### Party Matching ###
Party\ Matching.mduPartitionParallelism=1

MDM Server performance tuning

For the list of various parameters that influence the performance of MDM server, see Runtime Parameters.

To use some of these parameters, add them as a Java parameter (for example, -Dnme.copyColumns.skipUnchanged=true) or define them in the runtime properties file, as in the following example.

The values of runtime parameters set during the engine startup are available in the Admin Center under Runtime Parameters (see MD Process Monitoring, section Runtime parameters).

MDM Runtime parameters in runtime.properties file
...
nme.parallel.strategy=full
nme.delta.parallel=1
nme.commit.trimTooLongStrings=true
...

MDM database hints

MDM allows hinting for all SQL queries used internally. SQL queries are available in the <ONE_HOME>/vldb-commands_<DB>.xml and the file is referenced in the MDM configuration file.

Currently, only Oracle hints are pre-prepared: see the vldb-commands_oracle.xml file.

The ability to hint database queries was previously implemented using the runtime parameters. This method still works without any manual interventions.

Was this page useful?