Transaction logging guarantees that no committed operations are lost in the case of a system failure. When an operation is executed in the server, the operation is also saved to a transaction log file. The log file is used for recovery in case the server is shut down abnormally.
There are two different logging modes:
Ping-pong method
This method uses the last two allocated disk blocks in the log file to write the two latest versions of the same logical incomplete disk block. The ping-pong method toggles between these two blocks until one block becomes full.
Overwriting method
This method rewrites incomplete blocks at each commit until it becomes full. It can be used when data loss from the last log file disk block is affordable.
solidDB allows you to decide whether you want to use logging or not. If logging is used, databases that were shut down abnormally can be restored to the state they had when the failure took place. If the logging is disabled, databases can be restored to the backup state only. Transaction logging is enabled by default. If the full transaction recovery is not needed, logging can be disabled by setting the Logging.LogEnabled parameter to no.
Logging can be synchronous or asynchronous, depending on the transaction durability setting. For more information about transaction durability, see Controlling transaction durability.