About Commit Protocols

The non-safe commit protocols local, remote, and region have been deprecated.

Deprecated features remain in the product but will be removed in a future release. Deprecated features are also no longer under active development or enhancement. Customers using these commit protocols are advised to convert their use to the safe commit protocol as soon as possible.

The following table shows the durability and performance tradeoffs for the commit protocols when journaling is enabled. If your data does not require data durability and if you are concerned only about performance then you can consider the local commit option. While the safe commit option is the only setting that guarantees durability, the remote and region settings provide progressively more protection than the local commit protocol from data loss if there is a database process failure.

The default and only recommended commit protocol is safe.
commit Option Durability Performance

safe

Guaranteed

arrow two way

None

Fast

arrow two way

Fastest

region

remote

local

For information on the commit database option, see Database Options.

Setting the Commit Protocol

You can use the commit database option to specify one of the following types of commit protocols for Transaction Engines (TEs):

  • safe

  • remote[:n]

  • region[:n]

  • local

Durability guarantees that a committed transaction will remain committed after any combination of transient system failures (up to and including all databases processes exiting abnormally). NuoDB also extends Durability to protect committed transactions from permanent storage failures. Committed transactions are guaranteed to remain committed as long as no more than max-lost-archives archives (or their corresponding journals) are permanently lost at any given point in time.

The following table describes each commit option argument.

safe

TE sends a pre-commit message to each SM serving a modified storage group of the committing transaction. The TE then receives a pre-commit acknowledgment from each SM, and sends a commit confirmation message to the client. See About the Safe Commit Protocol.

remote[:n]

See deprecated documentation for the remote commit protocol.

region[:n]

See deprecated documentation for the region commit protocol.

local

See deprecated documentation for the local commit protocol.