Pages

Showing posts with label Commit Points. Show all posts
Showing posts with label Commit Points. Show all posts

Target-Based Commits

During a target-based commit session, the Integration Service commits rows based on the number of target rows and the key constraints on the target table. The commit point depends on the following factors:
Commit interval. The number of rows you want to use as a basis for commits. Configure the target commit interval in the session properties.
Writer wait timeout. The amount of time the writer waits before it issues a commit. Configure the writer wait timeout in the Integration Service setup.
Buffer blocks. Blocks of memory that hold rows of data during a session. You can configure the buffer block size in the session properties, but you cannot configure the number of rows the block holds.
When you run a target-based commit session, the Integration Service may issue a commit before, on, or after, the configured commit interval. The Integration Service uses the following process to issue commits:
When the Integration Service reaches a commit interval, it continues to fill the writer buffer block. When the writer buffer block fills, the Integration Service issues a commit.
If the writer buffer fills before the commit interval, the Integration Service writes to the target, but waits to issue a commit. It issues a commit when one of the following conditions is true:
The writer is idle for the amount of time specified by the Integration Service writer wait timeout option.
The Integration Service reaches the commit interval and fills another writer buffer.
Note: When you choose target-based commit for a session containing an XML target, the Workflow Manager disables the On Commit session property on the Transformations view of the Mapping tab.

Commit Points Overview

A commit interval is the interval at which the Integration Service commits data to targets during a session. The commit point can be a factor of the commit interval, the commit interval type, and the size of the buffer blocks. The commit interval is the number of rows you want to use as a basis for the commit point. The commit interval type is the type of rows that you want to use as a basis for the commit point. You can choose between the following commit types:
Target-based commit. The Integration Service commits data based on the number of target rows and the key constraints on the target table. The commit point also depends on the buffer block size, the commit interval, and the Integration Service configuration for writer timeout.
Source-based commit. The Integration Service commits data based on the number of source rows. The commit point is the commit interval you configure in the session properties.
User-defined commit. The Integration Service commits data based on transactions defined in the mapping properties. You can also configure some commit and rollback options in the session properties.
Source-based and user-defined commit sessions have partitioning restrictions. If you configure a session with multiple partitions to use source-based or user-defined commit, you can choose pass-through partitioning at certain partition points in a pipeline.