April 26, 2012
IBM's experiment begat 3000's first SQL stab
A reader asked, after enjoying our summary of the 3000's 1984 springtime, whether the computer's Allbase database really arrived off another's vendor's lab shelf. The database never caught on, although HP sold it right up to the final month of 2009 you could order MPE software from HP. Some of the reason that SQL indexing instead took root via IMAGE might be the pedigree of Allbase. IBM built its bones in the same year that the 3000 became a computer that could be used -- instead of one to be returned and rebuilt.
Allbase started its life as RSS, a derivative of IBM's experimental System R. The System R experiment was launched in IBM's San Jose Research Lab the same year as the 3000's successful general release, 1974. System R begat SQL, influenced by E.F. Codd's 1970 ACM paper on relational models. (Click on the System R summary below for details.)
System R began its life as a database system built as a research project. "System R was a seminal project," says the article on Wikipedia. "It was a precursor of SQL. It was also the first system to demonstrate that a relational database management system could provide good transaction processing performance. Design decisions in System R, as well as some fundamental algorithm choices (such as the dynamic programming algorithm used in query optimization), influenced many later relational systems."
Allbase got its chance on the 3000's iron because another internal project was hitting the skids inside HP's software labs. The HPIMAGE project, the first relational database for MPE, was being built to run on the 3000's new RISC hardware as part of the Spectrum project announced in '84. Over at Allegro, Stan Sieler says that co-founder Steve Cooper "recalls HPIMAGE being an unreleased Pascal-based, not-quite-compatible verison of IMAGE for MPE XL ... one that was unreleased because it wasn't compatible enough."
The new relational HPIMAGE database was cancelled much later in the project, after a brief encounter with end-users. I don't remember much about HPIMAGE, except that a lot of work went into it and it didn't succeed as hoped. TurboIMAGE ended up as the database of choice on the Spectrum [3000s].
However, HP still had customers who wanted relational indexes for their 3000 data -- and the fast-indexing Omnidex was not going to sell at those customers, because it didn't have the HP brand on it. Enter Allbase -- a database that HP first rolled out to Unix sites -- but caught on at just a few 3000 sites.
These middle '80s were days of debate about database structures. Alfredo Rego spoke at a 1985 user conference about the advantages in performance that IMAGE enjoyed over SQL architectures. Ten years later the veterans of IBM held a symposium to commemorate System R. They claimed Allbase as one of their own.
At a 1995 SQL Reunion: People, Projects, and Politics, Donald Slutz laid bare the bones of Allbase.
I originally thought that this twentieth anniversary [event] should be the twentieth anniversary of some particular event that occurred on some day. The day I was going to pick was the day that the project got named System R. It was full-fledged by then; then this chart that I had up here existed. Once there was a System R, all these names fell out: RDS, RSS.
Eventually, the RSS part of it, we delivered that on VM in nine months, starting with an empty office in Campbell. And then there was an MVS version a few months later.
Roger Bamford: You mean the RSS equivalent.
C. Mohan: That HP bought, right?
Slutz: HP bought that, and that became ALLBASE. So we made a contract with HP in early 1984, and then things changed a lot and a number of us left -- six or so, and then another seven or eight -- and HP picked it up with ALLBASE.
Use our search engine to find 20 years
of HP 3000 news and articles
There was a version of SQL in the mid-1980s that ran on the Classic HP3000. I know because the company I was working for at the time actually purchased it.
Posted by: Evan | Jul 30, 2012 11:15:37 AM
The comments to this entry are closed.