Ingres
From Wikipedia, the free encyclopedia
- This article is about a relational database system. For the artist, see Jean Auguste Dominique Ingres.
Ingres (pronounced "ingress") is a commercially supported, open-source relational database management system. Ingres was first created as a research project at the University of California, Berkeley starting in the early 1970s and ending in the early 1980s. The original code, like that from other projects at Berkeley, was available at minimal cost under a version of the BSD license. Since the mid-1980s, Ingres had spawned a number of commercial database applications, including Sybase, Microsoft SQL Server, NonStop SQL and a number of others. Postgres (Post Ingres), a project which started in the mid-1980s, later evolved into PostgreSQL. By any measure, Ingres is one of the most influential modern computer research projects.
Contents |
[edit] History
[edit] Ingres
In 1973 when the System R project was getting started at IBM, the research team released a series of papers describing the system they were building. Two scientists at Berkeley, Michael Stonebraker and Eugene Wong, became interested in the concept after reading the papers, and decided to start a relational database research project of their own.
They had already raised money for researching a geographic database system for Berkeley's economics group, which they called Ingres, for INteractive Graphics REtrieval System. They decided to use this money to fund their relational project instead, and used this as a seed for a new and much larger project. For further funding Stonebraker approached the DARPA, the obvious funding source for computing research and development at the time, but both the DARPA and the Office of Naval Research (ONR) turned them down as they were already funding database research elsewhere. Stonebraker then introduced his idea to other agencies, and, with help from his colleagues he eventually obtained modest support from the NSF and three military agencies: the Air Force Office of Scientific Research, the Army Research Office, and the Navy Electronic Systems Command.
Thus funded, Ingres was developed during the mid-1970s by a rotating team of students and staff. Ingres went through an evolution similar to that of System R, with an early prototype in 1974 followed by major revisions to make the code maintainable. Ingres was then disseminated to a small user community, and project members rewrote the prototype repeatedly to incorporate accumulated experience, feedback from users, and new ideas. Ingres remained largely similar to IBM's System R in concept, but based on "low end" systems, namely Unix on DEC machines.
[edit] Commercialization
Unlike System R, the Ingres source code was available (on tape) for a modest fee. By 1980 some 1,000 copies had been distributed primarily to universities. Many students from U.C. Berkeley and other Universities that used the Ingres source code worked on various commercial database software systems.
Berkeley students Jerry Held and later Karel Youseffi moved to Tandem Computers where they built a system that evolved into NonStop SQL. The Tandem database system was a re-implementation of the Ingres technology. It evolved into a system that ran effectively on parallel computers, that is, it included functionality for distributed data, distributed execution, and distributed transactions (the last being fairly difficult). Components of the system were first released in the late 1970's. By 1989 the system could run queries in parallel, and the product became fairly famous for being one of the few systems that scales almost linearly with the number of processors in the machine: adding a second CPU to an existing NonStop SQL server will almost exactly double its performance. Tandem was later purchased by Compaq who started a re-write in 2000, and now the product is at HP.
Robert Epstein, the chief programmer on the project while he was at Berkeley, formed Britton-Lee along with other students from the Ingres Project Paula Hawthorne and Mike Ubell, and they were joined later by Eric Allman. Later, they founded Sybase. Sybase had been the #2 product (behind the System R based Oracle) for some time through the 1980s and into the 1990s, before Informix came "out of nowhere" and took over in 1997. Sybase's product line had also been licensed to Microsoft in 1992, who re-branded it as Microsoft SQL Server. This relationship soured in the late 1990s, and today SQL Server outsells Sybase by a wide margin.
Several companies used the Ingres source code to produce products. The most successful was a company named Relational Technology, Inc. (RTI) founded in 1980 by Stonebraker and Wong, and another Berkeley professor, Lawrence A. Rowe. RTI was renamed Ingres Corporation in the mid 1980's. The company converted the code to DEC VMS, which was the commercial OS for DEC VAX computers, and developed a collection of front-end tools for creating and manipulating databases (e.g., reporterwriters, forms entry and update, etc.) and application development tools. Over time much of the source was re-written to add functionality (e.g., multiple statement transactions, SQL, B-tree access method, date/time datatypes, etc.) and improve performance (e.g., compiled queries, multi-threaded server, etc.). The company was purchased by ASK Corporation in November 1990. The founders left the company over the next several months. In 1994, ASK/Ingres was purchased by Computer Associates who continued to offer Ingres under a variety of brand names (e.g., OpenIngres, Ingres II, Advantage Ingres).
In 2004, Computer Associates released Ingres r3 under an open source license. The code includes the DBMS server and utilities and the character based front-end and application development tools. In essence, everything except OpenROAD, the Windows 4GL GUI-based development environment. In November of 2005, Garnett & Helfrich Capital in partnership with Computer Associates created a new company called Ingres Corporation, which will provide support and services for Ingres, OpenROAD and the connectivity products.
In February 2006, Ingres Corporation released Ingres 2006 under the GNU General Public Licence.
[edit] Postgres
The Postgres project was started to address limitations of existing database-management implementations of the relational model. Primary among these was their inability to let the user define new domains (or "types") which are combinations of simpler domains (see relational model for an explanation of the term "domain"). The project explored other ideas including the incorporation of write-once media (e.g., optical disks), the use of massive storage (e.g., never delete data), inferencing, and object-oriented data models. The implementation also experimented with new interfaces between the database and application programs (e.g., portals, which are sometimes referred to as "fat cursors").
The resulting project, named Postgres, aimed at introducing the minimum number of features needed to add complete types support. These included the ability to define types, but also the ability to fully describe relationships – which up until this time had been widely used but maintained entirely by the user. In Postgres the database "understood" relationships, and could retrieve information in related tables in a natural way using rules. For complete details, see the PostgreSQL article.
In the 1990s Stonebraker started a new company to commercialize Postgres, under the name Illustra. The company and technology was later purchased by Informix.
[edit] See also
- Comparison of relational database management systems
- List of relational database management systems
- OpenROAD
- PostgreSQL
[edit] External links
Article sources:
Community links:
- North American Ingres Users Association
- German Ingres User Association
- Ingres UserGroup Nederland
- UK Ingres Users Association
- Ingres User Group Brazil
Product links:
Product documentation:
- Getting Started Guide
- Getting Started Guide for Linux
- Release Summary
- Connectivity Guide
- System Administrator Guide
- Database Administrator Guide
- SQL Reference Guide
- Command Reference Guide
- Interactive Performance Monitor User Guide
- Distributed Option User Guide
- Migration Guide
- Object Management Extension User Guide
- Replicator User Guide
- Embedded SQL Companion Guide
- OpenSQL Reference Guide
- OpenAPI User Guide
- Forms-based Application Development Tools User Guide
- Character-based Querying and Reporting Tools User Guide
- QUEL Reference Guide
- Embedded QUEL Companion Guide
- Distributed Transaction Processing User Guide
- Web Deployment Option User Guide
- RMS Gateway User Guide