Optionally, ClustrixDB can return a success indicator prior to the records being fully committed and written to storage disk. This early Durability Reporting can provide a significant boost in throughput for low-value transactions as the transactions do not need to wait for disk. The risk of this early reporting is that transactions that have not been fully flushed to disk may be lost if a failure or outage occurs.
tx_sync_commit is the variable that determines when a user is informed of a transaction’s status as it traverses the Durability/Commit Process. It may be set globally or at the session level. For example, the system global tx_sync_commit can be set to STRICT while sessions running low-value, batched inserts could be set to RELAXED to ensure the inserts occur as quickly as possible
SET [GLOBAL | SESSION] tx_sync_commit = desired value
The allowable values for tx_sync_commit are:
|RELAXED||The transaction has been prepared and logged to memory. Ideal for transactions where full durability is not essential.||Transaction loss is possible during a group change, node power loss, and hard node failure.|
|SEMISTRICT||The transaction has been prepared and logged to disk.||Transaction loss possible only with a multi-node outage.|
|STRICT (Default)||The transaction has been committed and written to disk.||None. Tolerates complete cluster outage.|