Lessons Summarized by Michael Stonebraker

Paper: What goes around comes around

IMS Era

  • Physical and logical data independence are highly desirable
  • Tree structured data models are very restrictive
  • It is a challenge to provide sophisticated logical reorganizations of tree structured data
  • A record-at-a-time user interface forces the programmer to do manual query optimization, and this is often hard.

CODASYL Era

  • Networks are more flexible than hierarchies but more complex
  • Loading and recovering networks is more complex than hierarchies

Relational Era

  • Set-a-time languages are good, regardless of the data model, since they offer much improved physical data independence.
  • Logical data independence is easier with a simple data model than with a complex one.
  • Technical debates are usually settled by the elephants of the marketplace, and often for reasons that have little to do with the technology.
  • Query optimizers can beat all but the best record-at-a-time DBMS application programmers.

The Entity-Relationship Era

  • Functional dependencies are too difficult for mere mortals to understand. Another reason for KISS (Keep it simple stupid).

R++ Era

  • Unless there is a big performance or functionality advantage, new constructs will go nowhere.

The Semantic Data Model Era (Similar to R++ Era)

OO Era

  • Packages will not sell to users unless they are in “major pain”
  • Persistent languages will go nowhere without the support of the programming language community.

The Object-Relational Era

  • The major benefits of OR is two-fold: putting code in the data base (and thereby blurring the distinction between code and data) and user-defined access methods.
  • Widespread adoption of new technology requires either standards and/or an elephant pushing hard.

Semi Structured Data

  • Schema-last is a probably a niche market
  • XQuery is pretty much OR SQL with a different syntax
  • XML will not solve the semantic heterogeneity either inside or outside the enterprise.