1. A method of running a database management system (DBMS) in a virtual machine (VM) to preserve a durability property of the atomicity, consistency, isolation, durability (ACID) model for database management, the method performed by a hypervisor supporting the VM comprising: receiving input data associated with a database transaction; requesting recordation of the input data into a log stored in a persistent storage device, wherein the log stores non-deterministic events occurring during an execution flow of the VM to preserve a capability to subsequently replay the execution flow of the VM; forwarding the input data to the VM for processing by the DBMS running in the VM; receiving an indication of a start of processing of the database transaction by the DBMS and identification of the database transaction after the VM receives the input data; receiving an indication of a completion of processing of the database transaction by the DBMS; delaying, in a queue, outgoing output data received from the VM subsequent to the receipt of the completion indication by the DBMS; and releasing the delayed outgoing output data from the queue upon a confirmation that all input data associated with the database transaction received prior to the receipt of the start indication has been successfully stored into the log, thereby preserving durability for the database transaction.