The Design and Implementation of INGRES

The Design and Implementation of INGRES

September 1976 | MICHAEL STONEBRAKER, EUGENE WONG, AND PETER KREPS and GERALD HELD
The paper describes the design and implementation of the INGRES database management system, which is a relational database system implemented on top of the UNIX operating system for Digital Equipment Corporation PDP 11/40, 11/45, and 11/70 computers. The system is written primarily in C, a high-level language in which UNIX itself is written. Parsing is done with the assistance of YACC, a compiler-compiler available on UNIX. INGRES supports two high-level nonprocedural data sublanguages: QUEL, a query language, and EQUEL, which allows QUEL commands to be embedded in the general-purpose programming language C. The system is structured into four processes, each with specific functions. Process 1 is an interactive terminal monitor, Process 2 contains a lexical analyzer, parser, concurrency control routines, and query modification routines, Process 3 handles command execution, and Process 4 manages utility commands and access methods. The system supports various access methods, including hashed, ISAM, compressed hash, compressed ISAM, and heap. These methods allow for efficient data retrieval and storage. The system also includes a catalog structure for system relations and the role of the database administrator. The system provides concurrency and recovery control, and supports data integrity, protection, and views. The paper discusses the design decisions and trade-offs related to structuring the system into processes, embedding QUEL in C, the algorithms for processing interactions, access methods, concurrency and recovery control, and data structures for system catalogs. It also discusses the support for integrity constraints, views, and protection, as well as future plans for the system. The paper highlights the advantages of the relational model for database management systems, including high data independence and the ability to provide a high-level, procedure-free facility for data definition, retrieval, update, access control, views, and integrity verification. The paper also discusses the implementation of QUEL and EQUEL, the process structure of INGRES, and the access methods interface.The paper describes the design and implementation of the INGRES database management system, which is a relational database system implemented on top of the UNIX operating system for Digital Equipment Corporation PDP 11/40, 11/45, and 11/70 computers. The system is written primarily in C, a high-level language in which UNIX itself is written. Parsing is done with the assistance of YACC, a compiler-compiler available on UNIX. INGRES supports two high-level nonprocedural data sublanguages: QUEL, a query language, and EQUEL, which allows QUEL commands to be embedded in the general-purpose programming language C. The system is structured into four processes, each with specific functions. Process 1 is an interactive terminal monitor, Process 2 contains a lexical analyzer, parser, concurrency control routines, and query modification routines, Process 3 handles command execution, and Process 4 manages utility commands and access methods. The system supports various access methods, including hashed, ISAM, compressed hash, compressed ISAM, and heap. These methods allow for efficient data retrieval and storage. The system also includes a catalog structure for system relations and the role of the database administrator. The system provides concurrency and recovery control, and supports data integrity, protection, and views. The paper discusses the design decisions and trade-offs related to structuring the system into processes, embedding QUEL in C, the algorithms for processing interactions, access methods, concurrency and recovery control, and data structures for system catalogs. It also discusses the support for integrity constraints, views, and protection, as well as future plans for the system. The paper highlights the advantages of the relational model for database management systems, including high data independence and the ability to provide a high-level, procedure-free facility for data definition, retrieval, update, access control, views, and integrity verification. The paper also discusses the implementation of QUEL and EQUEL, the process structure of INGRES, and the access methods interface.
Reach us at info@study.space