Multics Technical Bulletin MTB-518 DB Development Framework To: Distribution From: Roger Lackey Date: 04/21/81 Subject: Database Development Framework 1 ABSTRACT Database management transcends many facets of Multics from the end user down to the space management of data. Multics already has many of the parts of a database management systems. However, many of them evolved for other purposes, and often do not fit together in an integrated fashion. What is being proposed is to define a framework in which Multics Database Management can be developed and grow in an integrated manner. This framework will provide the direction needed to determine where database management functions should reside and aid in the planning for the phased design and implementation of these functions. Comments should be sent to the author: via Multics Mail: Spratt.Multics on either MIT Multics or System M. via US Mail: Lindsey Spratt Honeywell Information Systems, inc. 4 Cambridge Center Cambridge, Massachusetts 02142 via telephone: (HVN) 261-9321, or (617) 492-9321 _________________________________________________________________ Multics project internal working documentation. Not to be reproduced or distributed outside the Multics project without the consent of the author or the author's management. Page i. CONTENTS Page 1 Abstract . . . . . . . . . . . . . . i 2 Introduction . . . . . . . . . . . . 1 3 General Description . . . . . . . . 1 3.1 Advantages . . . . . . . . . . 1 3.2 End User . . . . . . . . . . . 2 3.3 Data Manipulator . . . . . . . 2 3.4 Logical Database . . . . . . . 2 3.5 Real Database . . . . . . . . . 3 3.6 Database File . . . . . . . . . 3 3.7 Space Manager . . . . . . . . . 3 4 Future Topics . . . . . . . . . . . 3 iii Multics Technical Bulletin MTB-518 DB Development Framework 2 INTRODUCTION The framework has considerable flexibility allowing for a phased implementation which will ease the migration of what currently is Multics Database Management to what we think it should be. In addition it provides the structure needed to insure extensibility to meet new requirements. 3 GENERAL DESCRIPTION The parts of database management are broken down into horizontal levels or strata. These parts or levels are identified as follows: o End User o Data Manipulator o Logical Database o Real Database o Database File o Space Management They were chosen along logical divisions of functionality and to define reasonable size portions with which to work. By doing this along the logical lines suggested, detailed definition can proceed for each level while still retaining the overall structure. Each of these will have further refinement but should be considered here as identifiers for definition of interface. Descriptive and control information as well as data will be passed between interfaces. The major near term effort should be applied to the definition of major interfaces and the extent of the functionality provided by each level. Once agreed upon definitions have be established for the interfaces and function to be performed at each level, minimum subsets of the levels would be developed. With these in place the migration of existing database managers and the development of new database managers can proceed. Page 1. MTB-518 Multics Technical Bulletin DB Development Framework 3.1 Advantages The described architecture of the framework allows for a modular implementation and growth in an organized manner. Sufficient definition is supplied for planning purposes yet it is flexible enough to allow enrichment on several functional levels. It does not lock us in to just one or two database managers or end user facilities. It provides us with an opportunity to include instrumentation in a more universal basis than has be tried in the past. 3.2 End User The End User level is a Multics command level like interface that interfaces with the database through a Data Manipulator. Its primary function is to provide an interface for a specific type of output target. In general that target will be a terminal type target. Some of the functions provided by the End User level are sorting, formatting and presentation control. LINUS would reside in the End User level. 3.3 Data Manipulator This should be the level where the routines reside that do the actual data manipulation. The manipulations of data should be at a relatively high level using a generic language of the open, get, put, and close nature. It should be at this level where the true characteristics of a particular database manager are realized, such as the different data manipulation languages for relational and network databases. The relational manipulator would be doing joins and other relational operation at this level. The Data Manipulator level could work with several Logical Databases at one time. 3.4 Logical Database It is at this level that the logical description of a database are created and maintained. Interfaces to schemas and models should be at this level. Its interface should provide a method of presenting all or parts of schemas or models information or description to the Data Manipulation level. Logical Databases represent the users view as well as the logical definition of a specific database. A MRDS or IDS database is a logical database. Page 2. Multics Technical Bulletin MTB-518 DB Development Framework 3.5 Real Database The Real Database the level where the description of a specific Logical Database will reside. Its purpose is to provide a transformation of a Logical Database description into a Real Database. It maintains information about the relationship and organization of the data within the Multics storage system. 3.6 Database File The Database File is the level that manipulates a set of data records and their access methods. A Database File will consist of a set of data records and all its access methods. Several database files may be required for one Logical the Database. A Database File is similar to our current vfile_ but much richer in functionality. The Database File will be implemented over the New Data Management File Access layer. 3.7 Space Manager The Space Manager for databases is the manipulator of individual segments and should be independent of any physical database. It is at this level that one form of concurrent control should be provided. 4 FUTURE TOPICS The following is a list of topics that need to be defined within the above described framework. Long Range Database Desires Short Range Database Goals Migration of MR9.0 Database File Relation Database Manager Network Database Manager Database Utility Manager End User Facilities Security Requirements Page 3. MTB-518 Multics Technical Bulletin DB Development Framework Concurrent Access Requirements Recovery Requirements Journalization Requirements Restructuring Requirements Instrumentation Requirements Locking Strategies Databases in Transaction Processing Environment Testing Criteria Interface to Distributed Databases Page 4.