About Commit Protocols
The non-safe commit protocols 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 |
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 |
---|---|---|
|
Guaranteed
None |
Fast
Fastest |
|
||
|
||
|
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.
|
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. |
|
See deprecated documentation for the remote commit protocol. |
|
See deprecated documentation for the region commit protocol. |
|
See deprecated documentation for the local commit protocol. |