Multics Technical Bulletin MTB-516 DM: Distributed Databases To: Distribution From: T. H. Van Vleck Date: 02/11/81 Subject: New Database Architecture: Distributed Databases 1 INTRODUCTION The new Multics database architecture provides support for distributed databases, in a manner compatible with the evolving DSA specification. The important features of the DSA approach are: o It is not yet a complete design. Overall strategies and organization are laid out, but many details are being negotiated by committees of developers. o Layered communications protocols are used for the messages, and the data storage functions operate as DSA application layers. o GCOS-8 and Level 6 are defining a "Cooperating TP" environment using two-phase commit. _________________________________________________________________ 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. MTB-516 Multics Technical Bulletin DM: Distributed Databases 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 Page ii. CONTENTS Page 1 Introduction . . . . . . . . . . . . i 2 Development Phases . . . . . . . . . 1 2.1 Support for Distribution . . . 1 2.2 Distribution to Another Multics 1 2.3 DSA Cooperation . . . . . . . . 2 iii Multics Technical Bulletin MTB-516 DM: Distributed Databases 2 DEVELOPMENT PHASES Our plans are to build distributed database support in three phases. Each phase will be a useful and consistent facility, whose performance and function will be studied for pointers to future desirable enhancement. There is no implication that each phase will correspond to a release. Our strategy will be as compatible with DSA as we can make it, but we will not hold up development if we find that the DSA design has not yet specified some detail which we must know in order to proceed; we will make the best choice we can, document it, and hope that we don't have to change it later. 2.1 Support for Distribution The first phase will not support distributed databases, but will have basic structure such that they can be supported later with a minimum of conversion or reprogramming. This implies that interfaces at each layer of the database architecture are designed with distributed system support in mind. In particular, the names of objects such as transactions and external files must be chosen to be unique not just at one site, but across all sites. Interfaces between modules which might run on different sites will be organized to pass messages rather than, say, pointers. 2.2 Distribution to Another Multics The second phase of distributed database implementation will support databases distributed among several Multics systems. This ability will require DSA communication between systems, and will support transaction initiation, rollback, and commitment coordinated between these systems. The high-level design of DSA states that database distribution should be possible at any layer of the Data Storage and Retrieval architecture. In the second phase of Multics implementation, we will support distribution at a particular layer, probably the page file level, only. Distribution of databases between Multics sites will provide us with real-world testing of many complex cases of database recovery and synchronization. Page 1. MTB-516 Multics Technical Bulletin DM: Distributed Databases 2.3 DSA Cooperation The third phase of distributed database support will handle databases distributed over a DSA network which includes multiple operating systems, as envisioned in the DSA high-level specs. Cooperating transaction processing between Multics, GCOS 8, and Level 6 machines will be complex and difficult to build, but very valuable commercially. Page 2.