patternsqlModerate
If a transaction is "committed" , is it then saved for sure?
Viewed 0 times
committedsureforthentransactionsaved
Problem
If a transaction is committed successfully, can I then be 100% sure that it has been written to the database AND to the log files? Can I be sure that the data is SAVED ?
Today our log files had reached the limit of the drive and we got a lot of errors. Furthermore, some other services crashed. We increased the disk and restarted the server.
During startup, the server did a "database recovery" -- can I be sure that everything is okay again ?
Today our log files had reached the limit of the drive and we got a lot of errors. Furthermore, some other services crashed. We increased the disk and restarted the server.
During startup, the server did a "database recovery" -- can I be sure that everything is okay again ?
Solution
If a client application has issued a COMMIT and got back a success code then the transaction is guaranteed by the engine to be durable. It is guaranteed that all changes done in a transaction are going to be visible, even after a crash. Furthermore the recovery also guarantees that any transaction not committed will be rolled back in case of a crash.
For more details I recommend reading the ARIES paper.
Write-ahead logging and recovery cannot make guarantees if the underlying storage hardware has faults (corruption). And any engineering product may contain defects.
Your application, like all other applications, needs to be carefully written to behave correctly in presence of crashes (errors). There is no magic.
For more details I recommend reading the ARIES paper.
Write-ahead logging and recovery cannot make guarantees if the underlying storage hardware has faults (corruption). And any engineering product may contain defects.
Your application, like all other applications, needs to be carefully written to behave correctly in presence of crashes (errors). There is no magic.
Context
StackExchange Database Administrators Q#50831, answer score: 16
Revisions (0)
No revisions yet.