Saturday, 17 August 2013

Db2 History: System R, SQL, MVS, z/OS, and Db2 UDB


Db2 history timeline from IBM relational research to DB2 for MVS and Db2 for z OS
Db2 grew from SQL research into mainframe production data.

A COBOL program that runs EXEC SQL today is using ideas IBM researchers worked on before DB2 had a product name. The history matters because many current Db2 for z/OS habits still come from that path: static SQL, precompile, DBRMs, packages, plans, catalog metadata, and cost-based access paths.

This article keeps the timeline practical. It is not a museum tour. It explains how Db2 moved from relational research to the mainframe database system used by batch jobs, CICS transactions, IMS programs, and reporting workloads.

Db2 history at a glance

Period Milestone Why mainframe developers still care
1970s IBM relational database research, including System R and SQL work The SQL model used by COBOL programs, SPUFI, QMF, and application tools traces back to this work.
1981 SQL/DS for VM and VSE IBM had a commercial relational database before DB2 for MVS became the mainframe name most developers know.
1983 DB2 for MVS Version 1 announced This is the mainframe line that later became Db2 for z/OS.
1990s DB2 expanded across distributed platforms and used the DB2 Universal Database name Teams began seeing DB2 across mainframe and non-mainframe systems, with different platform behavior under a shared product family.
2000s onward Db2 for z/OS evolved with 64-bit z/OS, data sharing, XML, security, and newer SQL features The mainframe version kept its own operational model: subsystems, buffer pools, packages, plans, utilities, and workload controls.

Relational database research came first

Before DB2, IBM research work on the relational model changed how application data could be described. Instead of making every program navigate physical record chains, the relational approach let developers ask for rows and columns through SQL.

That sounds ordinary now, but it was a major change for mainframe teams used to hierarchical and network-style access. A program could ask for customer rows that match account status, branch number, and date criteria without coding every physical navigation step.

System R helped prove SQL could work

System R was an IBM research project that tested relational database ideas and SQL. It influenced later commercial systems because it showed that SQL did not have to be only a research language; it could be compiled, planned, and run with usable performance.

The cost-based access path idea is especially important for Db2 developers. When a COBOL program uses static SQL, Db2 can evaluate access paths during bind. That is why catalog statistics, indexes, and bind output matter so much for production performance.

SQL/DS came before DB2 for MVS

IBM's SQL/DS product ran on VM and VSE environments before DB2 for MVS became the better-known mainframe relational database. SQL/DS matters in the history because it shows that IBM relational database work was not a single product jump from research directly to DB2 for z/OS.

Many older sites had mixed platform histories. A team might have VM/VSE SQL/DS background, MVS DB2 workloads, and later distributed DB2 systems that shared SQL concepts but differed in operations, utilities, and tuning.

DB2 for MVS arrived in 1983

DB2 for MVS Version 1 gave the MVS mainframe a relational database product built for enterprise workloads. The name DB2 marked a move from older data access styles toward SQL-based relational processing on the mainframe.

For application programmers, this created the work pattern that still appears in many shops: write embedded SQL in COBOL or PL/I, precompile the source, bind the DBRM, run the program under a plan, and tune access paths when the batch window starts to hurt.

DB2 UDB widened the product family

In the 1990s, IBM used the DB2 Universal Database name across mainframe and distributed products. The phrase "Universal" reflected support for more data types and platforms, including AIX, Windows, OS/2, HP-UX, Solaris, and parallel processing environments.

This is where some confusion starts for learners. DB2 on distributed platforms and Db2 for z/OS share SQL heritage, but the day-to-day administration is not identical. A mainframe developer still has to know about subsystems, buffer pools, table spaces, plans, packages, utilities, and z/OS job control.

Db2 for z/OS kept the mainframe operating model

Modern Db2 for z/OS runs as a major subsystem on z/OS. It works with address spaces, workload controls, buffer pools, logging, utilities, security rules, and data sharing groups. CICS, IMS, batch, and distributed requesters can all reach Db2, but each path has its own operational checks.

The product name is now styled as Db2, but older posts, JCL comments, bind decks, and manuals often say DB2. In practice, mainframe teams still use both spellings in conversation. For current writing, Db2 is the cleaner style; for old job names and historic product names, DB2 may still be accurate.

Why the history helps in daily DB2 work

  • Relational design explains why tables, keys, predicates, and joins are central to application logic.
  • System R explains why the optimizer and access path selection became part of Db2's identity.
  • DB2 for MVS explains why static SQL, DBRMs, packages, and plans remain visible in mainframe build pipelines.
  • DB2 UDB explains why the same product family can behave differently across z/OS and distributed platforms.
  • Db2 for z/OS explains why database work is tied to JCL, security, utilities, and subsystem operations.

Related DB2 topics

After the history, the practical next steps are Db2 Origins of SQL, Db2 Early Vendor Implementations, Db2 Objects, Db2 Binding an Application, and Db2 Optimizer.

For current product positioning, see IBM's Db2 for z/OS product page.

FAQ

Is DB2 the same as Db2?

They refer to the same IBM database family in most mainframe conversations. DB2 is the older styling, while Db2 is IBM's current styling. Historic product names and old JCL comments may still use DB2.

Did Db2 start on z/OS?

No. The relational database work started before z/OS existed. DB2 for MVS was announced in 1983, and the mainframe line later became Db2 for z/OS.

Why does Db2 history matter to COBOL developers?

It explains why embedded SQL programs still use precompile, DBRMs, packages, plans, and bind-time access path choices. Those are not random build steps; they come from Db2's static SQL design.

When you read old DB2 material, map the history back to the job in front of you: subsystem, table space, package, plan, SQLCODE, and access path.

No comments:

Post a Comment

New In-feed ads