IDMS

It was first developed at B.F. Goodrich and later marketed by Cullinane Database Systems (renamed Cullinet in 1983).

[1] The roots of IDMS go back to the pioneering database management system called Integrated Data Store (IDS), developed at General Electric by a team led by Charles Bachman and first released in 1964.

[3] ISL was designed as a portable system programming language able to produce code for a variety of target machines.

The Chemical Division computer group had given some thought to selling copies of IDMS to other companies, but was told by management that they were not in the software products business.

Eventually, a deal was struck with John Cullinane to buy the rights and market the product.

Users included the Strategic Air Command, Ford of Canada, Ford of Europe, Jaguar Cars, Clarks Shoes UK, AXA/PPP, MAPFRE, Royal Insurance, Tesco, Manulife, Hudson's Bay Company, Cleveland Clinic, Bank of Canada, General Electric, Aetna and BT in the UK.

A version for use on the Digital Equipment Corporation PDP-11 series of computers was sold to DEC and was marketed as DBMS-11.

In 1976 the source code was licensed to ICL, who ported the software to run on their 2900 series mainframes, and subsequently also on the older 1900 range.

In this form it was used by many large UK users, an example being the Pay-As-You-Earn system operated by Inland Revenue.

In the early to mid-1980s, relational database management systems started to become more popular, encouraged by increasing hardware power and the move to minicomputers and client–server architecture.

Relational databases offered improved development productivity over CODASYL systems, and the traditional objections based on poor performance were slowly diminishing.

It is difficult to judge whether such features may have been successful in extending the selling life of the product, but they made little impact in the long term.

Those users who stayed with IDMS were primarily interested in its high performance, not in its relational capabilities.

Many customers have opted to web-enable their applications via the CA-IDMS SQL Option which is part of CA Technologies' Dual Database Strategy.

In IDMS, as in most other Codasyl implementations, the database key is directly related to the physical address of the record on disk.

Database keys are also used as pointers to implement sets in the form of linked lists and trees.

This close correspondence between the logical model and the physical implementation (which is not a strictly necessary part of the Codasyl model, but was a characteristic of all successful implementations) is responsible for the efficiency of database retrieval, but also makes operations such as database loading and restructuring rather expensive.

In subsequent years, some versions of IDMS added the ability to access records using BTree-like indexes.

Random (IDMSX only) allocates a target page number to the record occurrence when it is stored using the CALC algorithm (this either uses a Key within the record or in the case of un-keyed random, uses the date & time of storage as a seed for the CALC algorithm).