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
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:
- 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: email@example.com.
- 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:
- I will take attendance on a regular basis. When in doubt, come
Return to Prof. Futrelle's home page