Techniques for sharing data
The CICS® techniques that can be used for sharing data are compared, in tabular form, to show you when to consider using a coupling facility data table.
Constraints and factors | Single Region | Single MVS™ | Sysplex |
---|---|---|---|
Technique no longer recommended (too restrictive) | TWA | — | — |
Recommended method for single area for each transaction | COMMAREA or channel | COMMAREA or channel | COMMAREA or channel |
Existing application programs use temporary storage (TS) queues | Local TS queue | Remote TS queue | Shared TS queue |
Existing programs use
UMT Random insert and delete required Multiple types of data stored |
UMT | Remote UMT | CFDT (contention model) |
In Table 1, different techniques are considered for passing scratchpad data between phases of a transaction, where only one task is accessing the data at a time, but the data can be passed from a task in one region to a task in another. 'Remote UMT' means a shared user-maintained data table that is accessed from AORs either by function shipping where necessary (that is, for update accesses) or by SDT cross-memory sharing for non-update accesses. The table shows that, within a Parallel Sysplex®, a coupling facility data table is the best solution for random insertion and deletion of data, and where multiple types of data need to be stored. Without these constraints, shared TS queues are a more appropriate choice if the application programs are already using temporary storage.
Constraints and factors | Single Region | Single MVS | Sysplex |
---|---|---|---|
Read-only at head,
write-only at tail Triggering required |
Local transient data (TD) | Remote TD | Remote TD |
Process batches of items | TS queue or UMT | Remote TS or remote UMT | Shared TS or CFDT |
Delete each item after processing. Random insert and delete required. | UMT | Remote UMT | CFDT |
In Table 2, different techniques for sharing queues of data are shown, where information is stored in a specific sequence, to be processed by another application program or task in the same sequence. The CICS transient data and temporary storage queue facilities are recommended in most cases, with a few instances where data tables provide a more appropriate solution for handling sequenced data.
Constraints and factors | Single Region | Single MVS | Sysplex |
---|---|---|---|
Technique no longer recommended | CWA | MVS CSA | — |
Single updating region, single record | TS queue or UMT | Remote TS queue or UMT | Shared TS queue or CFDT (contention model) |
Multiple updating regions or multiple records | UMT | Remote UMT | CFDT |
In Table 3, different techniques for managing control records are shown. This illustrates where a central control record is used to make information available to all transactions. For example, this can contain the next unused order number, or customer number, to make it easier for programs to create new records in a keyed file or database. (For this type of application consider the named counter function, which is also a sysplex-wide facility. See Named counter servers for details.)
The table shows that within an MVS image, if there is a single region that makes all the updates to a single record, you can use a UMT without any function shipping overheads.
Where there are multiple regions updating the control record, or there is more than one control record to update, then a coupling facility data table is the only solution within a Parallel Sysplex environment, and it could also be more effective than function shipping the updates to a UMT within a single MVS.
Constraints and factors | Single Region | Single MVS | Sysplex |
---|---|---|---|
Read-only or rarely updated | UMT | UMT | Replicated UMT |
Single updating region | UMT | UMT | Replicated UMT or CFDT |
Multiple updating regions Recoverable (backout only) | UMT | Remote UMT or CFDT | CFDT |
In Table 4, different techniques for sharing keyed data are shown. This covers applications that use data similar in structure to a conventional keyed file, but where the information does not need to be stored permanently, and the performance benefits are sufficient to justify the use of main storage or coupling facility resources to store the relevant data.
- A replicated user-maintained data table where the highest performance is required, and where access is either read-only, or updates are rare and you can arrange to make these from a single region and refresh the replicated UMT in other regions
- A coupling facility data table.