Root - A History and Evaluation of System R

© Zhou Qingqing 2002, 2005
http://www.cs.toronto.edu/~zhouqq


[Note: This review was written on 2002 and there are various misstatements in it. For the sake of history, I keep it without any editorial work. -- When I reread it, it is interesting to know they have encountered "convoy problem" in more than 20 years ago. It is called "context switch storm" nowadays, which hurts performance, especially for SMP machines. Now (2005.10.22) PostgreSQL hackers are struggling to solve it, though the cause of the problem might be different.]

This paper gives us an overview of the history of system R, which is the first integrated relational system guided by E. F. Codd's relational model. Authors conclude the observations and lessons learnt during the implementation of system R.
กก

Reference

[1] Chamberlin, et al. "A history and evaluation of system R", Communications of ACM, Vol. 24, No. 10, October 1981, pp. 632-646.
[2] http://www.mcjones.org/System_R/ - A website to memorize the history events and the people of system R working in IBM San Jose research center (now Almaden center). There are many big names in the people list. For instance, a great picture you must have a look: http://www.mcjones.org/System_R/gray.html

กก

Basic points

* Goals of System R

It is important to design the practical and convincing goals for building a system. The goals of it include:

  1. SQL interface;
  2. Both transaction and ad-hoc query support;
  3. Dynamic (updatable) environment support;
  4. Concurrent operations support;
  5. Recovery support;
  6. Views and authorization;
  7. Performance;

We have to praise for the keen eyesight of the System R designers. Almost all the fundamental aspects of DBMS have been considered as a whole in it.

* Basic stages of System R

The central goal of system R is the data independence. E. F. Codd presents the relational model to solve this problem and system R is the first integrated database system based on system R. The significance of data independence and relational model are not rephrased here which have been introduced by another review on Codd's paper.

There are 3 stages in System R:
- Stage 0 (1974 - 1975) - single user initial prototype
- Stage 1 (1976 - 1977) - multi-user and function enhanced prototype
- Stage 2 (1978 - 1979) - evaluation

* Stage 0

In this stage, the main purpose of system R is trying to demonstrate the usefulness of relational model by building it. The main achievements include:

Stage 0 has a good start of System R and boosts the project.

* Stage 1

In this stage, the researchers try to make the system a full functional, multi-user DBMS achieving the following goals:

* Stage 2

The task for this stage is to evaluate of system R by users and many function enhancement and improvements from users' experiences.

กก

Conclusion

System R is cool! :-)


กก