2014 · 63 citations · 22 references
ComputingComputer ScienceComputer SystemsDatabasesDistributed SystemsReal-time SystemsConcurrency ControlDatabase ManagementTemporal DatabasesTransaction ManagementTransaction Processing SystemsDatabase TransactionsLazy EvaluationTransaction ProcessingTransactions
Existing database systems employ an \textit{eager} transaction processing scheme---that is, upon receiving a transaction request, the system executes all the operations entailed in running the transaction (which typically includes reading database records, executing user-specified transaction logic, and logging updates and writes) before reporting to the client that the transaction has completed. We introduce a \textit{lazy} transaction execution engine, in which a transaction may be considered durably completed after only partial execution, while the bulk of its operations (notably all reads from the database and all execution of transaction logic) 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. Lazy transactions are processed deterministically, so that the final state of the database is guaranteed to be equivalent to what the state would have been had all transactions been executed eagerly.
22
The dangers of replication and a solution
Jim Gray, Pat Helland, Patrick O’Neil et al. · 1996 · 1K citations
The end of an architectural era: (it's time for a complete rewrite)
Michael Stonebraker, Samuel Madden, Daniel J. Abadi et al. · Very Large Data Bases · 2007 · 578 citations
Alexander Thomson, Thaddeus Diamond, Shu-Chun Weng et al. · 2012 · 524 citations
Héctor García-Molina, Kenneth Salem · 1987 · 390 citations · Full text
Peter Henderson, James H. Morris · 1976 · 327 citations · Full text