Most large web applications are built using distributed databases. This project tackles a fundamental question: as these applications grow, leading to more query and update processing, can we scale application performance without requiring a massive reprogramming effort. The premise of this project is that today's two leading database paradigms -- ACID and BASE -- are profoundly unsatisfying. ACID implementations provide strong properties that make it easy to develop an application and reason about its correctness, but they struggle to keep up in performance and availability as the volume of accesses to the database grows; and while the BASE programming paradigm can meet these needs, the price is to give up all ACID guarantees, drastically increasing both development time and the possibility of introducing bugs. This project aims to develop the new theoretical framework necessary to overcome this impasse and simultaneously support consistency, availability, and scalability; and to build a database prototype that implements the mechanisms necessary to support this new framework.

The project introduces a new programming framework that combines the ease of ACID transactions with the performance of a BASE implementation by introducing a new abstraction, BASE transactions. The syntax and semantics of BASE transactions are driven by two goals. First, BASE transactions should achieve high performance and availability by loosening the overly-tight coupling between atomicity and isolation of the ACID paradigm, while nonetheless retaining its ability to express and enforce the atomicity requirements motivated by a given applications semantics. Second, it should be possible to surgically transform performance-critical ACID transactions into BASE transactions without affecting either the correctness or the performance of the unmodified ACID transactions.

To demonstrate this new programing framework, this project will develop Salt, a database that combines the desirable qualities of both ACID and BASE paradigms. The project will apply this work to Health Care IT through a partnership with a 501(c)(3) entity in central Texas charged with providing health information technology solutions to local health care infrastructure.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
1409555
Program Officer
M. Mimi McClure
Project Start
Project End
Budget Start
2014-10-01
Budget End
2017-10-31
Support Year
Fiscal Year
2014
Total Cost
$900,023
Indirect Cost
Name
University of Texas Austin
Department
Type
DUNS #
City
Austin
State
TX
Country
United States
Zip Code
78759