Lazy Evaluation of Transactions in Database Systems
Existing database systems employ an eager transaction processing scheme – that is, upon receiving a transaction request, the system executes all the operations entailed in running the transaction before reporting to the client that the transaction has completed. The authors introduce a lazy transaction execution engine, in which a transaction may be considered durably completed after only partial execution, while the bulk of its operations may be deferred until an arbitrary future time, such as when a user attempts to read some element of the transaction’s write-set – all without modifying the semantics of the transaction or sacrificing ACID guarantees.