Full Incremental Compilation for HVAR

Full incremental compilation improves replication performance for high volume adaptive replication (HVAR) by reducing memory consumption during the processing of large compilable transactions that contain many commands. With full incremental compilation, Replication Server does not need to revert to the continuous replication mode, and instead uses the more efficient HVAR mode to compile and replicate large transactions.

Full incremental compilation can compile large transactions containing mixed insert, delete, or update operations. Replication Server uses full incremental compilation to apply a large compilable transaction to the replicate database, using multiple in-memory net-change database instances. Full incremental compilation divides a large transaction into a sequence of segments. Each segment consists of a group of commands.

Replication Server compiles each segment and creates a dedicated net-change database in which to store one segment. Replication Server instructs the net-change database instance to send and apply the segment to the replicate database. Replication Server then closes the net-change database instance and releases the memory consumed. Replication Server creates another net-change database instance for the next transaction segment and continues to create and close net-change database instances in sequence for all the segments.

Therefore, instead of consuming a single large portion of memory for a large net-change database instance to hold a large transaction, full incremental compilation reduces the memory requirement to the memory consumed by a single smaller net-change database instance containing just a segment of the transaction. Full incremental compilation divides the memory requirement by the number of net-change database instances used. For example, when full incremental compilation applies a large transaction with 10 net-change database instances, the memory requirement is approximately one-tenth of the requirement without full incremental compilation.

During compilation of small transactions, since Adaptive Server does not support bulk update and delete , HVAR loads update and delete operations into temporary worktables that HVAR creates inside the replicate database. HVAR then performs join-update or join-delete operations with the replicate tables to achieve the final result. HVAR creates and drops the work tables dynamically. However, to support full incremental compilation for large transaction compilation,HVAR creates the worktables in the tempdb database of the replicate data server using regular tables instead of temporary objects.

By default, Replication Server does not enable full incremental compilation for HVAR.

Database Support

You can enable full incremental compilation for high-volume adaptive replication to Adaptive Server databases.