Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Setting

Description

Storage Host

You can only select Automatic.

When you select Automatic, the EC used by the running workflow is automatically applied. Alternatively, if the Aggregation Session Inspector is used, a storage host is selected automatically. For further information, see Aggregation Session Inspector(4.2).

Note

Note!

It is recommended that you configure the aggregation workflow to run on the same EC Group that you have selected as Storage Host.

Directory

Enter the directory on the Storage Host where you want the aggregation data to be stored.

Note

Note!

If the Storage Host above, is configured to be Automatic, the corresponding Directory has to be a shared file system between all the ECs.

If this field is greyed out with a stated directory, it means that the directory path has been hard-coded using the mz.present.aggregation.storage.path property. This property is set to false by default.

Info

Example - Using the mz.preset.aggregation.storage.path property

To enable the property and state the directory to be used:

Code Block
mzsh topo set val:common.mz.preset.aggregation.storage.path '/mydirectory/agg'

To disable the property:

Code Block
mzsh topo unset val:common.mz.preset.aggregation.storage.path

Partial File Count

In this field, you can enter the maximum number of partial files that you want to store. Consider the following:

Startup: All the files are read at startup. It takes longer if there are many partial files.

Transaction commitment: Many small files (large Partial File Count) increase performance when the transactions are committed.

In a batch workflow, use this variable to tune performance.

Note

Note!

In a real-time workflow, updates to sessions are saved on disk only if the Storage tab is configured with Storage Commit Conditions .

Max Cached Sessions

Enter the maximum number of sessions to keep in the memory cache.

This is a performance-tuning parameter that determines the memory usage of the Aggregation agent. Set this value to be low enough so that there is still enough space for the cache in memory, but not too low, as this will cause performance to deteriorate, see Performance Tuning with File Storage(4.2) for more information.

Enable Separate Storage Per Workflow

This option enables each workflow to have a separate session storage. Multiple workflows are allowed to run simultaneously using the same Aggregation profile.

If this checkbox is selected, a workflow will never see a session from another workflow.

Note

Note!

Sometimes, you may notice that file storage takes up more space than expected. This is expected behavior. Read through this note for an overall understanding of the way file storage in Aggregation works. 

When session data is stored, it is appended to the session file. This means that old session data from the session file is still present in the storage and the current version is added to the file. Removal of old data is done only under certain conditions because otherwise, aggregation handling would be too slow. This is why file storage takes up more space than calculated with session number and single session object size.

The session files on the disk grow up to a certain threshold ( 50MB by default) and then a new file is created and used. The old session file will be deleted when no more active sessions are stored in it. The accepted size of a session file can be adjusted by using aggregation.min_session_file_size parameter. For instance, aggregation.min_session_file_size=20000000 will set it to 20MB.

Old files are removed during the storage commit. Also, since there is a possibility that there will be old session files present because of some long-lived sessions stored there, a defragmentation algorithm is implemented. It runs occasionally and moves those long-lived sessions to new session files so that old session files can be deleted.

This is why aggregation storage takes up a lot of disk space. It is designed to provide higher performance at the expense of higher disk space consumption.

Memory Only

...

When you have selected Memory Only as storage, there are no additional settings in the Storage tab.

Redis Storage

...

Setting

...

Description

...

Profile

...

Select a Redis (4.2) profile. This profile is used to access the storage for aggregation sessions.

SQL Storage

...

Setting

...

Description

...

Profile

...

Select a Database Profile(4.2) configured with the SQL database type. This profile is used to access the storage for aggregation sessions.

Note

Note!

Currently, the SQL storage only supports PostgreSQL and SAP HANA databases.

Storage-sharing functionality is currently not supported.

...

Index Fields

...

Click the Add button to select the UDR type.

...

Table SQL Script

...

This text box will generate the SQL statements for the selected UDRs' table schema and indexes for Id, TxId. The schema will be generated based on the number of UDRs in the UDR Type Mapping table.

Info

Info!

Users will have to copy the SQL script generated in the text box to create the PostgreSQL and SAP HANA tables on their own in the database listed in the Database profile. The Aggregation profile will not automatically create the tables for you.

Note

Note!

The following table columns are mandatory when creating the database:

Column NameData Type

Id

VARCHAR(24)

TxId

BIGINT

Deleted

BOOLEAN

Timeout

BIGINT

Session

BYTEA

Advanced Tab

The Advanced tab is available when you have selected Couchbase Storage, Elasticsearch Storage, Redis Storage or SQL Storage in the Session tab. It contains properties that can be used for performance tuning. For information about performance tuning, see Aggregation Performance Tuning(4.2).

These fields supports parameterization using ${} syntax, see Profiles(4.2) for more information on how parameterization works.

Couchbase Storage

...

You can also set the properties listed in the Advanced tab as Execution properties. This will override the values that are set in the profile, including default values.

...

Example - Overriding the Advanced properties

...

languagetext

...

Partial File Count

In this field, you can enter the maximum number of partial files that you want to store. Consider the following:

Startup: All the files are read at startup. It takes longer if there are many partial files.

Transaction commitment: Many small files (large Partial File Count) increase performance when the transactions are committed.

In a batch workflow, use this variable to tune performance.

Note

Note!

In a real-time workflow, updates to sessions are saved on disk only if the Storage tab is configured with Storage Commit Conditions .

Max Cached Sessions

Enter the maximum number of sessions to keep in the memory cache.

This is a performance-tuning parameter that determines the memory usage of the Aggregation agent. Set this value to be low enough so that there is still enough space for the cache in memory, but not too low, as this will cause performance to deteriorate, see Performance Tuning with File Storage(4.2) for more information.

Enable Separate Storage Per Workflow

This option enables each workflow to have a separate session storage. Multiple workflows are allowed to run simultaneously using the same Aggregation profile.

If this checkbox is selected, a workflow will never see a session from another workflow.

Note

Note!

Sometimes, you may notice that file storage takes up more space than expected. This is expected behavior. Read through this note for an overall understanding of the way file storage in Aggregation works. 

When session data is stored, it is appended to the session file. This means that old session data from the session file is still present in the storage and the current version is added to the file. Removal of old data is done only under certain conditions because otherwise, aggregation handling would be too slow. This is why file storage takes up more space than calculated with session number and single session object size.

The session files on the disk grow up to a certain threshold ( 50MB by default) and then a new file is created and used. The old session file will be deleted when no more active sessions are stored in it. The accepted size of a session file can be adjusted by using aggregation.min_session_file_size parameter. For instance, aggregation.min_session_file_size=20000000 will set it to 20MB.

Old files are removed during the storage commit. Also, since there is a possibility that there will be old session files present because of some long-lived sessions stored there, a defragmentation algorithm is implemented. It runs occasionally and moves those long-lived sessions to new session files so that old session files can be deleted.

This is why aggregation storage takes up a lot of disk space. It is designed to provide higher performance at the expense of higher disk space consumption.

Memory Only

...

When you have selected Memory Only as storage, there are no additional settings in the Storage tab.

Redis Storage

...

Setting

Description

Profile

Select a Redis (4.2) profile. This profile is used to access the storage for aggregation sessions.

SQL Storage

...

Setting

Description

Profile

Select a Database Profile(4.2) configured with the SQL database type. This profile is used to access the storage for aggregation sessions.

Note

Note!

Currently, the SQL storage only supports PostgreSQL and SAP HANA databases.

Storage-sharing functionality is currently not supported.

Index Fields

Click the Add button to select the UDR type.

Table SQL Script

This text box will generate the SQL statements for the selected UDRs' table schema and indexes for Id, TxId. The schema will be generated based on the number of UDRs in the UDR Type Mapping table.

Info

Info!

Users will have to copy the SQL script generated in the text box to create the PostgreSQL and SAP HANA tables on their own in the database listed in the Database profile. The Aggregation profile will not automatically create the tables for you.

Note

Note!

The following table columns are mandatory when creating the database:

Column NameData Type

Id

VARCHAR(24)

TxId

BIGINT

Deleted

BOOLEAN

Timeout

BIGINT

Session

BYTEA

Advanced Tab

The Advanced tab is available when you have selected Couchbase Storage, Elasticsearch Storage, Redis Storage or SQL Storage in the Session tab. It contains properties that can be used for performance tuning. For information about performance tuning, see Aggregation Performance Tuning(4.2).

These fields supports parameterization using ${} syntax, see Profiles(4.2) for more information on how parameterization works.

Couchbase Storage

...

You can also set the properties listed in the Advanced tab as Execution properties. This will override the values that are set in the profile, including default values.

Note!

See the Note at the end of this page for more information when using pessimistic or optimistic locking mechanisms for Couchbase aggregation storage.

...