HiRDB Datareplicator Version 8 Description, User's Guide and Operator's Guide

[Contents][Glossary][Index][Back][Next]

4.5.3 Notes on a data linkage system that links multiple systems

This section discusses important topics concerning a data linkage system that links multiple systems.

Organization of this subsection
(1) Updating the same target table from multiple source systems
(2) Order of data linkage among multiple systems
(3) Suppression of loopback
(4) Data linkage system conducting bidirectional updating among more than two systems
(5) Loopback suppression when a data linkage facility from XDM/DS is used

(1) Updating the same target table from multiple source systems

If multiple source systems can update the same target table at the same time, it is impossible to identify the system that updated specific data. For example, if an all-entry UPDATE occurs on the same table at multiple source systems, the target system cannot identify the final system that updated specific data.

To avoid this, you can partition the target table by key ranges and limit the range of updating by each source system.

(2) Order of data linkage among multiple systems

If data linkage is established from one source system to multiple target systems, the order of import processing among the target systems is undefined because it depends on each target system's processing speed and workload (however, the order of transactions at the source system is guaranteed).

To define the order of data linkage among multiple systems, use a single line to connect all the systems. For example, if data is to be linked among three systems, A, B, and C, you can link the systems with a single line by first linking between systems A and B, and then linking between systems B and C.

The following figure shows an example system in which multiple systems are connected by a single line.

Figure 4-26 Example system in which multiple systems are connected by a single line

[Figure]

(3) Suppression of loopback

A bidirectional updating system transfers update information among multiple systems. After some update information has been imported, it might be extracted again and sent back to the original sender, resulting in an endless repetition of extractions and imports of the same update information among multiple systems. This is called loopback.

To avoid loopback, specify the identifier of the update information's original receiver, transmission to which is to be suppressed (transmission-suppressed original receiver identifier) for each target identifier; you make this specification in the nsndidxxx operand in the transmission environment definition (where xxx is an integer in the range 001 to 256). For the transmission-suppressed original receiver identifier, specify the identifier of the source Datareplicator in the data linkage system that is to be subject to suppression. For example, in data linkage system A (hdeid=01, hdsid=02), to suppress update information from being sent from data linkage system B (hdeid=11, hdsid=12), specify nsndid001=11 in the transmission environment definition for data linkage system A.

When you specify transmission suppression, you cannot use a UAP name that begins with hdssqle (otherwise, while transmission suppression is in effect, transmission of update information by a UAP whose name begins with hdssqle might be suppressed).

The following figure shows an example of a bidirectional updating system with loopback suppression.

Figure 4-27 Example of a bidirectional updating system with loopback suppression

[Figure]

The following describes the Datareplicator processing in Figure 4-27.

Datareplicator processing

Flow of UAP1's update information:

  1. At system X, UAP1's update information is stored in the system log file.
  2. At system X, the Datareplicator uses the extraction facility to extract UAP1's update information and sends it to system Y (suppression is specified at system X for system Y's nsndid001=02, but UAP1's update information is not suppressed at this stage because it has no original receiver).
  3. At system Y, the Datareplicator uses the import facility to import the update information that was sent in 2 above and stores it in the system log file.
  4. At system Y, the Datareplicator uses the extraction facility to extract the update information in 3 above and sends it to system Z (suppression is specified at system Y for system X's nsndid001=01 and system Z's nsndid001=03; in this case, only transmission to system X is suppressed, because the original receiver of UAP1's update information is system X at this stage).
  5. At system Z, the Datareplicator uses the import facility to import the update information that was sent in 4 above and stores it in the system log file.
  6. At system Z, the Datareplicator uses the extraction facility to extract the update information in 5 above but does not send it (suppression is specified at system Z for system Y's nsndid001=02; in this case, only transmission to system Y is suppressed, because the original receiver of UAP1's update information is system Y at this stage).

Flow of UAP2's update information:

  1. At system Y, UAP2's update information is stored in the system log file.
  2. At system Y, the Datareplicator uses the extraction facility to extract UAP2's update information and sends it to systems X and Z (suppression is specified at system Y for system X's nsndid001=01 and system Z's nsndid001=03, but UAP2's update information is not suppressed at this stage because it has no original receiver).
  3. At systems X and Z, the Datareplicators use the import facility to import the update information sent in 2 above and store it in the system log files.
  4. At systems X and Z, the Datareplicators use the extraction facility to extract the update information in 3 above, but do not send it (suppression is specified at systems X and Z for system Y's nsndid001=02; in this case, only transmission to system Y is suppressed, because the original receiver of UAP2's update information is system Y at this stage).

Flow of UAP3's update information:

  1. At system Z, UAP3's update information is stored in the system log file
  2. At system Z, the Datareplicator uses the extraction facility to extract UAP3's update information and sends it to system Y (suppression is specified at system Z for system Y's nsndid001=02, but UAP3's update information is not suppressed at this stage because it has no original receiver).
  3. At system Y, the Datareplicator uses the import facility to import the update information that was sent in 2 above and stores it in the system log file.
  4. At system Y, the Datareplicator uses the extraction facility to extract the update information in 3 above and sends it to system Z (suppression is specified at system Y for system X's nsndid001=01 and system Z's nsndid001=03; in this case, only transmission to system Z is suppressed, because the original receiver of UAP3's update information is system Z at this stage).
  5. At system X, the Datareplicator uses the import facility to import the update information that was sent in 4 above and stores it in the system log file.
  6. At system X, the Datareplicator uses the extraction facility to extract the update information in 5 above, but does not send it (suppression is specified at system X for system Y's nsndid001=02; in this case, only transmission to system Y is suppressed, because the original receiver of UAP3's update information is system Y at this stage).

(4) Data linkage system conducting bidirectional updating among more than two systems

The following figure shows an example of bidirectional updating among more than two systems.

Figure 4-28 Example of bidirectional updating among more than two systems

[Figure]

The following describes the Datareplicator processing in Figure 4-28.

Datareplicator processing

Flow of UAP1's update information:

  1. At system X, UAP1's update information is stored in the system log file.
  2. At system X, the Datareplicator uses the extraction facility to extract UAP1's update information and sends it to systems Y and Z (suppression is specified at system X, but UAP1's update information is not suppressed at this stage because it has no original receiver).
  3. At systems Y and Z, the Datareplicators use the import facility to import the update information sent in 2 above and store it in the system log files.
  4. At system Y, the Datareplicator does not send the update information in 3 above because suppression is specified for system X's and Z's nsndid001=01 when system X is the extraction source.
  5. Similarly at system Z, the Datareplicator does not send the update information in 3.

Loopback control also takes effect in the same manner for UAP2 and UAP3.

(5) Loopback suppression when a data linkage facility from XDM/DS is used

The following table shows the handling of update information sent from XDM/DS:

XDM/DS version Handling of update information sent from XDM/DS
Loopback control used Importing with a UOC routine
07-00 or earlier Specify 00 in the nsndidxxx operand in the transmission environment definition. Otherwise, the update information will be sent to another system. 00 is specified for the interface block's (UINTERFACE_BLK) source Datareplicator identifier.
07-01 or later For the nsndidxxx operand in the transmission environment definition, specify the character codes (EBCDIK) specified in the XDM/DS identifier clause of the XDM/DS startup definition. Otherwise, the update information will be sent to another system. The character codes (EBCDIK) specified in the XDM/DS identifier clause of the XDM/DS startup definition are specified as the interface block's (UINTERFACE_BLK) source Datareplicator identifier.