Lazy Transaction Execution Models

71
Опубликовано 16 июня 2016, 22:11
Database transactions are an abstraction that allows programs to read and modify a database concurrently, yet consistently. In Online Transaction Processing (OLTP) applications, many transactions exhibit flexibility with regard to the reads and writes they perform. For example, in a flight booking application, a user may not care what exact seat is booked as long as it is a window seat. Similarly, in an online shopping application, the exact value of the stock level of an item is irrelevant for a purchase transaction as long as there is enough stock to fulfill an order. Such flexibility in transactional reads and writes presents opportunities for optimizing application performance. In this talk, I will discuss how we can exploit flexibility in transactions by executing them lazily. First I will present Quantum Databases – a lazy transaction processing system that defers the making of choices in transactions until an application or user forces the choice by observation. Conceptually, the database is in a quantum state – in one of many possible worlds, exactly which one is unknown – until fixed by observation. Next, I will present Homeostasis – a lazy transaction processing system for distributed or replicated databases which automatically identifies flexibility in a set of transactions and exploits it to minimize the amount of inter-node communication required to guarantee consistency. The key insight is to allow the state of the system to be inconsistent during execution, as long as this inconsistency is bounded and does not affect transaction correctness.
автотехномузыкадетское