Skip to content

Charles Bachman and the Integrated Data Store

Abstract

Charles Bachman (1924–2017) was a mechanical engineer who never took a PhD and never held an academic post, and in 1973 became the first Turing Award winner from industry. At General Electric in the early 1960s he built the Integrated Data Store, the first database management system, to run a factory in Philadelphia; its “network” model of records linked in owner–member sets became the CODASYL standard and the mainframe databases of the 1970s. He then chaired the ISO committee that produced the seven-layer OSI model. His Turing lecture, “The Programmer as Navigator,” compared his data model to the Copernican revolution. Ted Codd stood up at the preview and said it was dead wrong, and within a decade the relational model had won.

Charles Bachman 2012
Charles Bachman at the ACM Turing Centenary Celebration, 2012. Image: Dennis Hamilton, CC BY 2.0, via Wikimedia Commons.

Kansas, the Army, and Dow

Charles William Bachman III was born on 11 December 1924 in Manhattan, Kansas, where his father was head football coach at Kansas State; the family moved when the father took the Michigan State job in 1933. From March 1944 to February 1946 he served in the Army’s anti-aircraft artillery in New Guinea, Australia and the Philippines, operating the fire-control computers for 90 mm guns, which was his introduction to machines that calculated. He took a BS in mechanical engineering at Michigan State in 1948 and an MS at Pennsylvania in 1950, with most of a Wharton MBA on the side, and joined Dow Chemical in Midland, Michigan.

In 1957 Dow decided, as Bachman put it, that “everyone else is doing it, we should be doing it,” and made him head of a new corporate data processing department. His first job was to choose a computer. He recommended an IBM 709, which qualified Dow for SHARE, the users’ group for large IBM scientific machines, and there he chaired the committee that produced 9PAC, a report generator for the 709 that entered use in 1959 and was one of the first generalized data-processing packages. Dow, meanwhile, ran into economic trouble, cut his thirty-person department, and cancelled the 709 order, though not before building an empty computer room in the new headquarters. He left for General Electric in 1960.

IDS

GE’s Production Control Services group in New York, run by an advocate of the “total systems approach” to running factories by computer, hired Bachman to build one. Integrated Systems Project 2 used a GE plant in Philadelphia as its testbed and produced MIACS, a manufacturing control system on a GE 225 that handled scheduling, ordering, dispatching, inventory and parts explosion in one program: the ancestor, Bachman claimed, of the material-requirements-planning systems sold for the next thirty years. A small team did it in about four years in the equivalent of 40 kilobytes of memory.

Underneath MIACS was the piece that mattered, the Integrated Data Store. Earlier packages, including his own 9PAC, processed sequential files on tape. IDS exploited the new disk drives to hold records where a program could reach any of them directly, and enforced relationships between them: a “master” record owned a chain of “detail” records, and a record could belong to several chains at once, which is why the approach was later called the network model. Programmers manipulated the store through a set of commands, an early data manipulation language, and a data dictionary tracked the record types and their links. IDS ran with its own transaction-oriented supervisor, the Problem Controller, which between them replaced most of GE’s operating system. GE announced IDS as a supported package in October 1964; a version at Weyerhaeuser’s wood-products division in Tacoma, WEYCOS, was fully operational by 1965, taking orders from teletypes across the country and cutting order processing from weeks to days. The diagrams Bachman drew to picture the MIACS data structures, boxes for record types and arrows for sets, are the ancestors of every entity-relationship diagram since.

GE never held a tenth of IBM’s market, so IDS was not the most used database of the 1960s. It was the most copied. From 1966 to 1968 Bachman sat on the Data Base Task Group of CODASYL, the committee that had produced COBOL, and by his own account “wrote, rewrote, and rewrote” its specification: “The original text was the text for the GE IDS database management system. The ‘master’ and ‘detail’ records of IDS became the ‘owner’ and ‘member’ records of the DBTG specifications.” The DBTG reports popularised the phrase “data base management system,” fixed the split between a data definition language and a data manipulation language, and endorsed Bachman’s network model over the hierarchical model IBM was pushing. When B. F. Goodrich rewrote IDS for the IBM 360 and John Cullinane sold it as IDMS, the CODASYL model became the mainframe database of the 1970s.

The Programmer as Navigator

Honeywell took over GE’s computer business in 1970 and Bachman with it. In 1973 the ACM gave him the Turing Award “for his outstanding contributions to database technology.” Every previous winner had come from mathematics or physics; he was the first from business data processing, the first whose whole career had been in industry, and one of a handful without a doctorate. He took the occasion to read about Alan Turing and visited Turing’s mother in her nursing home in England.

The lecture, published in Communications of the ACM in November 1973, opened with Copernicus. “We have spent the last 50 years with almost Ptolemaic information systems,” he said, “based on a ‘computer centered’ concept”: a machine with a sequential file flowing through it, as the ancients had seen the sun going round the earth. The new understanding “is achieved by a shift from a computer-centered to the database-centered point of view,” and the programmer’s job in that world was to navigate: enter the store by a key, follow a set from owner to members, step to the next or prior member, climb back to the owner, seven ways of moving that could be combined “as he picks his way through the data.”

Bachman had given a preview of the lecture at an earlier meeting, and C. J. Date, who was in the audience, later described what happened: “I could feel Ted gripping his chair, and the instant that Charlie sat down, Ted leapt up.” Edgar Codd congratulated him, called him a very nice guy, and said that “what he is saying in his paper is dead wrong,” then challenged him to a formal debate. It took place on the afternoon of the ACM SIGFIDET workshop in Ann Arbor, 1–3 May 1974, under the title “The Differences and Similarities Between the Data Base Set and Relational Views of Data,” and ran into the evening. Bachman argued that the two models were mathematically equivalent and the choice one of efficiency and taste. Nobody was convinced. The two, Bachman insisted afterwards, went out to dinner together.

OSI

His second standard came from the same instinct for structure. At Honeywell he had been designing a Distributed System Architecture for communication between programs rather than between terminals and a mainframe, and when ISO set up a subcommittee on Open Systems Interconnection in 1977, he chaired both the American delegation and, from 1978 to 1982, the international committee itself. Its first plenary, from 28 February to 2 March 1978 with delegates from ten countries, produced the layered diagram that became the seven-layer reference model, endorsed by ISO the following year. “I would say that 75% was based on my work at Honeywell,” he told Thomas Haigh. “We worked, as you sometimes have to do, to cover the traces.” The fight over what went into the layers, and how the model lost to TCP/IP, is told in Hubert Zimmermann and the Seven Layers.

Cullinane and After

Bachman joined Cullinane Database Systems, the IDMS company, in 1981. Cullinane was then trying to rebrand IDMS as relational, and in 1983 it fired him as irrelevant to that direction. On 1 April 1983 he and his wife Connie founded Bachman Information Systems, which built graphical data-modelling tools for mainframe databases in the notation he had invented; Data Analyst shipped in 1987 at $15,000 a seat, the company took venture money from Venrock and Kleiner Perkins, went public on NASDAQ, lost an IBM partnership to a rival, merged into Cayenne Software in 1996 and was sold to Sterling Software in 1998 for a fraction of its earlier value. He called it the biggest disappointment of his career.

The honours came at the end: Distinguished Fellow of the British Computer Society in 1977 (the IEEE pioneers page says 1978), the National Medal of Technology and Innovation in 2012 “for fundamental inventions in database management, transaction processing, and software engineering,” ACM Fellow in 2014, Computer History Museum Fellow in 2015. He died of Parkinson’s disease in Lexington, Massachusetts, on 13 July 2017, aged 92.

Dead End: The Navigator Loses the Map

The network model did exactly what Bachman said it would, and that was the problem. A programmer who navigated the store by following pointers wrote code that depended on the store’s physical layout; when the layout changed, the code broke, and when the data grew complicated, the code became unreadable. Codd’s model made the layout invisible and let a program state what it wanted rather than how to walk to it. In 1974 that was an unproven theory against a working, fast, shipping product, and the debate was a draw. The first practical relational systems were still years away, and relational products did not sell in volume for another decade. By the time they did, the argument was over. IDMS survives on mainframes as a legacy system; every new database since the mid-1980s has been relational or something newer. Bachman’s record and set diagrams outlived his data model, redrawn as the tables and foreign keys of the side that beat him.

📚 Sources