COM1317, Transaction Processing Systems
Spring 1998, Professor Futrelle
Course (Catalog) Description
Focuses on the concepts and practice of modern transaction processing
systems in a distributed setting. Describes the overall architecture of
systems such as TP monitor, recovery manager, log manager, and lock manager.
Discusses the principles of DO/UNDO/REDO logging such as the write-ahead
log rule and the force log-on-commit rule. Describes compensation log records,
checkpoint and restart recovery procedures, two-phase commit, lock tables,
granularity of locking, and two-phase locking. Prereq. COM 1130, COM1201,
and COM1315.
Description of this spring's course
The largest computer system applications in existence are arguably relational
database management systems (RDBMS). Because they hold masses of valuable
data and may be in constant interaction with thousands of people simultaneously,
they must be extraordinarily reliable. They must reliably allow users to
work without ever allowing updates to conflict and they must survive hardware
and software failures of all types. The stock exchange or airline reservation
systems or medical insurance systems or the internal revenue service or
the database of known orbiting objects (that might collide with the Space
Shuttle if the wrong flight path was used) -- none of these can afford failure
or a corruption of the database. This cannot be achieved by any simple means.
Your previous course, COM1315 dealt primarily with the user's view of
a DB. You were not concerned with what went on "under the hood"
to maintain the integrity of the DB and to allow it to recover from power
outages and to recover to a consistent and correct state. That is the focus
of this course. We will hardly even mention SQL. Even an experienced user
of DBs has probably heard little or nothing of the concepts that will be
discussed here, much less the technical details of their implementation.
When you finish this course you will be conversant with a wide range of
important concepts such as ACID, transactions, concurrency, two-phase locking,
log files, rollback, aborted transaction, dirty pages, force-log-on-commit,
cursor stability, and more.
You may use or build a variety of systems in the future that though they
are not databases per se, cannot afford to lose or corrupt data -- recovering
from such disasters could be far more difficult than taking steps during
the system design to assure that the system is well-protected against such
problems. Much of what you learn in this course will help you understand
such systems when you meet them in the future.
You can reach all the COM1317 web pages through the teaching Gateway
on my homepage www.ccs.neu.edu/home/futrelle/.
Major updates of these pages:
-
- 3/98: First draft.
- 4/5/98: Posted on CCS site.
- Institution:
- Northeastern University, College of Computer Science, Boston, MA.
- Instructor:
- Professor Robert P. Futrelle Email
me at: futrelle@ccs.neu.edu.
- Office/Lab:
- 115/149 Cullinane
- Hardcopy mailbox:
- 161 Cullinane
- Class email:
- You can also send mail to the ENTIRE
COM1317 class.
- Telephone:
- Office 373-4239 (voice mail), Lab 373-2076, Home 617-244-8261
- Course calendar:
- APRIL
- 17 Friday Last day to drop a SPRING 1998 course without a W grade.
- 20 Monday PATRIOTS DAY. Normal class schedule
- MAY
- 22 Friday Last day to drop a SPRING 1998 course with a W grade.
- 25 Monday MEMORIAL DAY. University closed.
- JUNE
- 8 - 13 Monday - Saturday SPRING 1998 Final Exam Week
- and you can access the official University
Calendar
-
- Machine problems / special projects:
- There will be no class-wide programming projects for this course --
transactions are quite non-trivial to set up. The one active project that
I have running at this time is the addition of transaction capabilities
to an object-oriented persistent store which I have used for a variety
of research projects. The system, WOOD, is written in Macintosh Common
Lisp and can be run on any College Macintosh, since the College has a site
license for Macintosh Common Lisp. We have the complete source code for
WOOD. The project is set up for honors students and any other interested
students. A possible variation of this work would be to begin the port
of WOOD to Unix, using Allegro Common Lisp on the Suns. Follow this link
for more information on Lisp, and Macintosh
Common Lisp in particular. Web pages on the project will be available
shortly.
- Textbooks:
- Transaction Processing by
Jim Gray and Andreas Reuter Morgan
Kauffman, 1993. Your reading assignments in the text are substantial, so
you will need to get yourself a copy. A copy of this book is on Reserve
at Snell library, so you should be able to get started, even if you haven't
immediately purchased the text. The primary emphasis will be on Concurrency
(Chaps. 7 and 8) and Recovery (Chaps. 9 and parts of 10 and 11).
- Books on databases in the library:
- Databases is a big and important subject. . There are over 900 books
in Snell library, with the words "database" or "databases"
in the title, books at every level from beginner to research-level. Amazingly
there are almost none that really tell you what is going on inside
these systems with respect to reliability, as our text does. Some of the
meatier DB textbooks do have single chapters on transaction processing
that give you briefer and simpler introductions to the topic than our text
does, so you might want to look at some of them. Use NULIS
at the Snell Library to check
out what's there.
- Personal Help:
- If you need help at any time, find me in my office or lab, call, or
send email, or ask in class to set up an appointment. My office/advising
hours are Wednesdays, 11-1.
- Classes:
- Mondays, Wednesdays, Thursdays, 9:15-10:20 in room ??CN.
- Exams:
- There will be quizzes, a midterm, and a
final. All are closed-book. First quiz, ?? April.
- Exam weighting:
- Midterm: 30%. Final: 50%. Quizzes: 20%. The grading will be adjusted
for those people working on Lisp/transaction projects.
- Assignments
- There will be a variety of written
assignments.
-
- FIRST TWO ASSIGNMENTS:
- By Monday, April 6, you should have read pages 3-21 and 33-43 (most
of the latter should be review). Be familiar with the material on fault
tolerance on pages 93-109, and read as much of the rest of the chapter
as you choose. By Wednesday, April 8, you should have read about some of
the basics of transaction models, pages 159-174 and 180-191. Once this
material is discussed, we will dive into the core material of the course,
starting with Chapter 7.
-
- Attendance:
- I will take attendance from time-to-time. When in doubt, come to class!
- Document version:
- This document is the first draft, 3/28/98, to be posted on the Web
soon after the first class.
Return to Prof. Futrelle's home page