Course Syllabus

CMPSC 274: Advanced Topics on Databases

The Transaction Concept: Past, Present, & Future

Winter 2009: MW 11:00 - 13:00  932 101

Class Website: http://www.cs.ucsb.edu/~cs274/

Course Description

Transaction processing paradigm emerged almost three decades ago as a solution to ensure correct executions of user computations over shared data in the presence of concurrency and failures. During the intervening years -- an elegant theory to reason about transactions systems was developed as well as novel methods were proposed to implement transactions efficiently. Much of this work is used in practice. In fact, the transaction concept has been so successful in databases that it has led to its own demise. That is, transactions are considered irrelevant or "done-deal" in the context of contemporary database research. With the recent shift in modern architectures towards multi-core processor design, the issue of concurrency and parallelism has become a foremost research concern for the programming language community. Ironically, the concept that has been largely forgotten by that database community has become the centerpiece of the concurrency solution in programming languages: *Transactional Memory*. On another note, the issue of concurrency, consistency, correctness, and atomicity has become an important concern in the context of large-scale distributed data management solutions such as Google's BigTable, PNUTS from Yahoo!, and Amazon's Dynamo. Although not explicitly acknowledged, *traces of the transaction concept* are used selectively in these systems. During this course, we will begin with a detailed overview of concurrency control and recovery protocols for Database Transaction Management (approximately 5-6 weeks). Then, we will examine the transaction concept for providing varying levels of atomicity guarantees in multi-core environments (approximately 1-2 weeks) and large-scale distributed data management systems (approximately 1-2 weeks).
Pre-requisites: CMPSC 170.
Required Textbook: Transactional Information Systems by Gerhard WEIKUM and Gottfried VOSSEN

Instructor: Divy Agrawal, agrawal AT cs.ucsb.edu

Office hours: TuTh 9:30 - 10:30, 3117 Engineering I, and by appointment.

Teaching Assistant:

Grading: CMPSC 274 Course Outline (approximate):
Date Topic Related Reading Assignment
M: 1/5/2008 Motivation Chapter 1  
W: 1/7/2009 Notions of Correctness Chapter 3  
M: 1/12/2009 Notions of Correctness Chapter 3  
W: 1/14/2009 Concurrency Control Chapter 4-10  
M: 1/19/2009 NO CLASS Martin Luther King Holiday
W: 1/21/2009 Concurrency Control Chapters 4-10  
M: 1/26/2009 Concurrency Control Chapters 4-10  
W: 1/28/2009 Transaction Failures & Recovery Chapter 11  
M: 2/2/2009 Crash failures & Recovery Chapters 12-13
W: 2/4/2009 Crash Failures & Recovery Chapter 12-13  
M: 2/9/2009 Midterm Examination
W: 2/11/2009 Crash Failures & Recovery Chapters 12-13  
M: 2/16/2009 No Class Holiday  
W: 2/18/2009 Disributed Transactions Chapters 18-19
M: 2/23/2009 Distributed Transactions Chapters 18-19  
W: 2/25/2009 Distributed Transactions Chapters 18-19
M: 3/2/2009 Transactional Memories NOTES  
W: 3/5/2009 Transactional Memories NOTES  
M: 3/9/2009 Internet-scale Data Management Research papers  
W: 3/11/2009 Internet-scale Data Management Research Papers  
FINAL EXAM 8:00AM - 11:00AM