RDF/IMP and IMPX System Management Manual (RDF 1.4+)
Introducing RDF
HP NonStop RDF/IMP and IMPX System Management Manual—524388-001
1-26
Reciprocal and Chain Replication
Reciprocal and Chain Replication
Figure 1-7. Reciprocal Replication
System \A System \B
 RDF Subsystem 1
Primary DB 1 ----------------------------------> Backup DB 1
 RDF Subsystem 2
Backup DB 2 <---------------------------------- Primary DB 2
Thus, you have a primary database for RDF subsystem 1 on 
system \A (primary DB 1) and a primary database for RDF 
subsystem 2 on system \B (primary DB 2).
Figure 1-8. Chain Replication
System \A System \B System \C
 RDF Subsystem 1
Primary DB 1 ---------> Backup DB 1
 Primary DB 2 ----------> Backup DB 2
 RDF Subsystem 2
Thus, system \B is both the backup system in RDF subsystem 1 
and the primary system in RDF subsystem 2.
With the NonStop RDF/IMP(X) product, the updaters generate audit records as they 
replicate data to the target files and target tables, and these audit records are internally 
marked as updater-generated audit records. The extractors filter out all updater-
generated audit. Thus, under normal circumstances, the extractors do not send 
updater-generated audit to their backup systems for replication.
Consider the following example. Assume that Primary DB 1 and Backup DB 2 are both 
located on $DATA on \A, and assume that Primary DB 2 and Backup DB 1 are also 
located on $DATA on \B. Using the reciprocal example, suppose your application does 
an update on \A to Primary DB 1. The extractor of RDF Subsystem 1 sees that the 
update was for $DATA and sends that update to \B where the updater applies that 
update to Backup DB 1. This update generates an audit record that goes into the audit 
trail on \B and is marked as updater-generated. The extractor for RDF Subsystem 2 
reads the audit trail looking for audit associated with $DATA. When it reads the record 
generated by the udpater, it sees the update was associated with $DATA, but it also 
sees that the record was updater-generated, which causes the extractor to filter that 
record out and not send it to \A. This is correct and desired behavior.










