Replicate only changed columns

You can choose to replicate only those columns that have changes instead of entire rows.

By default, even if only one column changes, Enterprise Replication replicates the entire row, except columns that contain unchanged large objects.

You can change the default behavior to replicate only the columns that changed. To replicate only changed columns, include the --fullrow=n option in the replicate definition. Enterprise Replication always sends the replication key columns, even if you specify to replicate only changed columns.

Replicating only the columns that changed has the following advantages:
  • Sends less data, because only the modified data is sent
  • Uses less Enterprise Replication resources, such as memory

If Enterprise Replication replicates an entire row from the source, and the corresponding row does not exist on the target, Enterprise Replication applies the update as an insert, also known as an upsert, on the target (unless you are using the delete wins conflict resolution rule). By replicating the entire row, Enterprise Replication corrects any errors during replication. If any errors occur in an update of the target database server (for example, a large object is deleted before Enterprise Replication can send the data), the next update from the source database server (a complete row image) corrects the data on the target server.

Replicating only the columns that changed has the following disadvantages:
  • Enterprise Replication does not apply upserts.

    If the row to replicate does not exist on the target, Enterprise Replication does not apply it. If you set up error logging, Enterprise Replication logs this information as a failed operation.

  • You cannot use the SPL routine or time stamp with SPL routine conflict-resolution rules.
  • You cannot use update-anywhere replication; doing so can result in inconsistent conflict resolution.

Enterprise Replication logs bitmap information about the updated columns in the logical-log file. For more information, see the CDR record type in the logical-logs chapter in the HCL OneDB™ Administrator's Reference.