COM1317, Transaction Processing Systems

Spring 1999, 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 deal with them in the future.

There will be no programming in this course (except in the Honors project). What you will be doing is a lot of careful reading (and rereading!) and homework exercises and participating in class discussions, and taking tests. (And hopefully, enjoying the nice Spring weather!)

You can reach all the COM1317 web pages through the Teaching Gateway on my homepage

Major updates of these pages:
5/1/99: Posted on CCS site.

So I can get some feedback from you about your background, your email address, etc., you are required to fill in an online form on the Web by 5pm on Thursday, April 8th. I will give you the URL in class.
Northeastern University,   College of Computer Science, Boston, MA.
Professor Robert P. Futrelle   Email me at:
115 Cullinane
Hardcopy mailbox:
161 Cullinane
Class email:
When set up, you'll be able to send mail to the ENTIRE COM1317 class.
Office 373-4239 (&voice mail), Home 617-244-8261
Machine problems / special projects:
There will be no class-wide programming projects for this course -- transactions are quite nontrivial to set up. But with the knowledge you gain from this course you'll be well-prepared to get involved with database system administration for specific "industrial-strength" database systems that support transaction processing and recovery.
Honors Section:
Students will get involved with the design and implementation of a research and development project that I am working on. It is POSCL, a portable object serialization system for Common Lisp, a form of persistent object database. The design includes basic transaction capabilities such as checkpointing and logging to assure integrity and recovery. This system is being developed on Unix and Macs. Follow this link for more information on Lisp, and Macintosh Common Lisp in particular.
Principles of Transaction Processing by Philip A. Bernstein and Eric Newcomer (Morgan Kaufman publishers).
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 present brief and simple introductions to the topic, 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 Thursdays, 11-12 and 4-5.
Mondays, Tuesdays, and Thursdays, 1:35-2:40 in room 245CN.
Written assignments:
There will be numerous written assignments. They are primarily intended to prepare you for the various tests. I will not grade these in detail, but you will receive credit for handing them in on time. ZERO CREDIT FOR LATE ASSIGNMENTS.
First assignment:
By Monday, April 5, you should have read pages xvii-xxii and Chapter 1, sections 1 through 3 (top of page 14). Additional assignments on the COM1317 Spring 1999 Syllabus and Calendar web page.
There will be quizzes, a midterm, and a final. All are closed-book.
Grade weighting:
Midterm: 30%. Final: 40%. Quizzes: 20%\. Written assignments: 10%.
I will take attendance on a regular basis. When in doubt, come to class!

Return to Prof. Futrelle's home page