Transaction Group Size

Syntax:
Checkpoint client every n [(allow min to max)] audit blocks

Checkpoint client every n [(allow min to max)] transactions

Checkpoint client every n [(allow min to max)] update records

Checkpoint options can be combined with "or." For example:

Checkpoint client every n [(allow min to max)] audit blocks or every n [(allow min to max)] transactions

Checkpoint client every n [(allow min to max)] audit blocks or every n [(allow min to max)] update records

Where

Is

n

The default number of audit bocks or updates or transactions to be allowed in a transaction group. n can be any valid integer.

Allow

A required word when specifying the range of values a DATABridge Client or accessory can use. The clause "Allow any" means there are no restrictions on the values. Omitting the Allow clause is equivalent to "Allow 1 - n". The parentheses around the Allow clause are required.

min

The minimum value a DATABridge Client or accessory can specify. This value must be 0 to allow a DATABridge Client or accessory to disable the checkpoint parameter.

max

The maximum value a DATABridge Client or accessory can specify.

Checkpoint

A required word

client

An optional word

during

An optional word

every

An optional word

audit

An optional word

blocks

This indicates that n is the minimum number of audit blocks processed in a transaction group.

or

A required word if you are checking combinations of checkpoint options.

update

An optional word

records

This indicates that n is the minimum number of updates the accessory receives in a transaction group.

transactions

This indicates that at least n transactions will be in each transaction group.

Default:

Checkpoint client every 100 (allow any) audit blocks

%Checkpoint client every 1000 (allow 1 - 9999999) records

%Checkpoint client every 200 (allow any) transactions

%Checkpoint client every 10 (allow 1 - 36000) seconds

This Checkpoint option specifies the size of a transaction group. DBEngine ends a transaction group at the first quiet point (natural or super) after reaching the Checkpoint value. This ensures that transaction groups are roughly the same size and reduces the overhead associated with ending transaction groups due to frequent QPTs.

Updated records in a transaction group are not available to accessories until the end of the transaction group is reached and the whole group is committed to the client database. Therefore, smaller transaction groups make the individual updates available sooner.

The disadvantage of smaller transaction groups is that DBEngine must send state information records at the end of each group to reflect the new location in the audit trail. The accessory must update its control tables with this state information, which is additional overhead. The target database might have some constraints on how many records can be updated in one group. If so, the Checkpoint option would need to be low enough to stay within those constraints.