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:
-
Stacy Patterson sep AT cs.ucsb.edu, Office hours: TBD.
Grading:
-
Homework Assignments: 75 points
-
Programming Project: 200 points
-
Midterm Exam @ 75 points each
-
Final Exam: 150 points
-
Late assignments will not be accepted without proof of an emergency.
-
Any act of dishonesty will result in an "F" for the course and a report to
the associate dean of students. This includes any sharing/borrowing/copying/leveraging of computer code from any source unless explicitly specified.
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 |
|