The durability property of transactions ensure that changes to data are made persistent once the changes are committed. This includes persisting the data to disk and ensuring crash recovery is handled so that there are no partially committed transactions due to a system crash. Crash recovery is handled typically by logging transaction change records in a transaction log and then flushing those log records immediately to disk before the transaction is committed so that the database server can recover by rolling back or rolling forward committed transactions using the logged transaction change records from the transaction log.