Advanced Topics in Computer Systems
Lectures 1 & 2
Joe Hellerstein & Anthony Joseph

System R & DBMS Overview

DBMS History

Relational System Architecture

Databases are BIG pieces of software. Typically very 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 INGRES

What of today's systems comes from Ingres? Things it got wrong:

Notes on System R

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

More influential? A lot 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.