Codd almighty! How IBM cracked System R
The tech team that made relational databases a reality
Why not IBM?
IBM's commercialisation of its own work was slower than that of the startups, but not as slow as myth would have it. By 1981, when the ACM published "A History and Evaluation of System R", IBM had still not brought a product to market. A relational product was in testing in 1982, and eventually announced as DB2 in 1983.
But others had created the market, with Ingres gaining a reputation for technical leadership, and Oracle for aggressive marketing.
"And at the time IBM had way more throw weight than they have now, and so in one 'swell foop' they had enough throw weight that that meant SQL was the answer, and anybody with any other query language had to convert to SQL. Larry Ellison very skilfully marketed the heck out of: 'We're selling SQL now’," said Stonebraker.
According to Stonebraker, things could have gone a lot differently: "Oracle and Bill Gates are experts at selling futures to stall the market. Oracle did that very successfully. In my opinion, if IBM hadn’t announced DB2, Oracle and Ingres would've switched places within a couple of years."
For Oracle v3 in 1983 the product was rewritten in C, and was able to run on many different platforms - a huge marketing fillip. Oracle also convinced the market that it was most closely aligned with the coming client/server computing trend - and didn't care what the client might be.
Stonebraker thought IBM had not resolved fundamental issues with the SQL language. Nor did he care for the way that IBM put a relational database on top of hierarchical databases. As he would explain, if IBM had made System/R a high level UI in IMS, it would have been cleaner and smarter. But IMS’s fast, clean and simple hierarchical team had another idea: a logical database. According to Stonebraker, this was a “kludge that made it impossible to put a clean semantic query language on top of IMS".
IBM: Too bad... or just too slow?
Bruce Lindsay, IBM
Did IBM hobble its relational efforts, or was it just slow? Veterans still hotly debate this point today. Entire markets, such as the disk drive industry, were created by ex-IBM staffers because the company was so slow. IBM fellow Bruce Lindsay, one of the younger members of System R who stayed with IBM to become a Fellow Emeritus, certainly thought it was no accident.
"IBM protects weak products; protects its own products," he told the System R reunion in 1995. "Admit it: IBM will not attack its own products, even when they're weak and there's better technology and they have it. Ask Mike about RISC. Ask everybody in here about relational."
There's no doubt management lacked the entrepreneurial culture that allowed Ingres and Oracle to grow so rapidly.
It had been a long, hard journey from System R to DB2, but the engineers had vindicated the decision. "Ted had the key insights and developed the math theory on which RDMBS were based," System R pioneer Don Chamberlin told me in 2003, on Codd's death. "System R were the carpenters who came along and implemented the ideas. We created an industrial strength platform on them."
His summary makes it all sounds simple: "It required a software layer to be implemented that could take a high level language that could map it down to an efficient execution plan."
But that doesn't explain the enormity of the many problems System R had to overcome to achieve this.
Chamberlin said: "At first it wasn't clear you could build an optimizer that would be as efficient as a human programmer. We had the same arguments that you have with people implemented languages like Fortran - I can do a better job with my registers."
A glimpse of the enormity of the team's challenges comes from a tribute written in honour of Jim Gray, who disappeared at sea in 2007 and has never been found. "What really distinguishes Jim's work is the number of times in which he has defined what the hard problems were: recovery, transaction commit, concurrency control, why systems fail, sorting, benchmarking," wrote David Lomet, a colleague at DEC and Microsoft.
The System R team had to grapple with them all. ®
Fun further reading
The 1995 System R reunion site is a wealth of material.
Also worth reading are oral histories with:
This talk by Don Childs (video) gives another overview of the field.
IEEE members and guests can access a special issue of the journal Annals of Computing History from last year, devoted to relational history, including contributions covering IBM, Oracle and Ingres.
And for free, here's Verity Stob's "First Amongst SQLs".
"A History and Evaluation of System R" (PDF) - Chamberlin et al, ACM Computing Practices journal, October 1981.