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:
- 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.
- A layered and modular system structure that separates storage management (RSS),
query processing (RDS) and other functionalities like user interface (UFI).
- Employment of query compilation make the system performing well under both
interactive and programmed repetitive scenarios.
- 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.