Advanced Topics in Computer Systems
Lecture 3
Joe Hellerstein & Timothy Roscoe

System R & DBMS Overview

DBMS History

Relational System Architecture

Databases are BIG pieces of software. Typically somewhat hard to modularize. Lots of system design decisions at the macro and micro scale. We will focus mostly on micro decisions -- and hence ideas reusable outside DBMSs -- in subsequent lectures. Here we focus on macro design.

Disk management choices:

Process Model: Basic modules: Query Rewriter Optimizer Executor Access Methods Buffer Manager Lock Manager Log/Recovery Manager

Notes on System R

See the System R reunion notes for fun background and gossip.

Some "systems chestnuts" seen in this paper:
Some important points of discussion The "Convoy Problem":

System R and INGRES are the prototypes that all current systems are based on.  Basic architecture is the same, and many of the ideas remain in today's systems:

Stuff they got wrong:

Database View of Applications

Big, complex record-keeping applications like SAP and PeopleSoft, which run over a DBMS.  "Enterprise applications" to keep businesses humming. A smattering: A main job of DBMS is to make these kinds of apps easy to write

OS and DBMS: Philosophical Similarities & Differences

So, a main goal of this class is to work from both of these directions, cull the lessons from each, and ask how to use these lessons today both within and OUTSIDE the context of these historically separate systems.