CS262A Reading Summary

A History and Evaluation of System R

Donald D. Chamberlin, et al.

Feng Zhou
9/3/2002

This paper describes the three-phase evolution of System R design and evaluation of the work of each phase.  This paper basically claims, through their experience with System R, that it is possible to build a well-performing general-purpose relational database system that can compete in terms of performance and functionality with traditional "navigational" database systems.

This paper presents a comprehensive design and evaluation of a working relational database system.  Major strengths of the paper/system are:

  1. Managing everything including system configuration, data dictionary and authorization info as pure relational data visible to the user (with appropriate permissions of course).  Provide a single, very high-level language (SQL) to query and manipulate the data.  This makes the system adaptive, easy to use and maintain.
  2. A layered and modular system structure that separates storage management (RSS), query processing (RDS) and other functionalities like user interface (UFI).
  3. Employment of query compilation make the system performing well under both  interactive and programmed repetitive scenarios.
  4. Improving performance by considering both I/O and CPU factors in all aspects of design.  Storage locality is increased by storing adjacent data physically near, by eliminating Domain and using B-Tree structure.  Clustering property of data placement is respected by the query optimizer.

One major flaw:

The "shadow page" approach System-R uses incurs significant performance penalty, which they admit.  Managing the data structures is complicated and involves a lot of I/O.  It also compromises the locality of data placement.  One can get rid of "shadow pages" by simply storing the before and after image in the log.