Outline Introduction Background Distributed DBMS Architecture Datalogical Architecture Implementation Alternatives Component Architecture Distributed DBMS Architecture Distributed Database Design Semantic Data Control Distributed Query Processing Distributed Transaction Management Parallel Database Systems Distributed Object DBMS Database Interoperability Current Issues Distributed DBMSPage 4. 1
Architecture Defines the structure of the system components identified functions of each component defined interrelationships and interactions between components defined Distributed DBMSPage 4. 2
ANSI/SPARC Architecture Users External Schema External view External view External view Conceptual Schema Conceptual view Internal Schema Internal view Distributed DBMSPage 4. 3
Standardization Reference Model A conceptual framework whose purpose is to divide standardization work into manageable pieces and to show at a general level how these pieces are related to one another. Approaches Component-based Components of the system are defined together with the interrelationships between components. Good for design and implementation of the system. Function-based Classes of users are identified together with the functionality that the system will provide for each class. The objectives of the system are clearly identified. But how do you achieve these objectives? Data-based Identify the different types of describing data and specify the functional units that will realize and/or use data according to these views. Distributed DBMSPage 4. 4
Conceptual Schema Definition RELATION EMP [ KEY = {ENO} ATTRIBUTES = { ENO : CHARACTER(9) } ENAME TITLE : CHARACTER(15) : CHARACTER(10) ] RELATION PAY [ KEY = {TITLE} ATTRIBUTES = { TITLE : CHARACTER(10) SAL : NUMERIC(6) } ] Distributed DBMSPage 4. 5
Conceptual Schema Definition RELATION PROJ [ KEY = {PNO} ATTRIBUTES = { PNO : CHARACTER(7) PNAME : CHARACTER(20) BUDGET : NUMERIC(7) } ] RELATION ASG [ KEY = {ENO,PNO} ATTRIBUTES = { ] } ENO PNO RESP DUR : CHARACTER(9) : CHARACTER(7) : CHARACTER(10) : NUMERIC(3) Distributed DBMSPage 4. 6
Internal Schema Definition RELATION EMP [ KEY = {ENO} ATTRIBUTES = { ENO : CHARACTER(9) ENAME : CHARACTER(15) TITLE : CHARACTER(10) } ] ========================================= INTERNAL_REL EMPL [ INDEX ON E# CALL EMINX FIELD = { ] } HEADER : BYTE(1) E# : BYTE(9) ENAME : BYTE(15) TIT : BYTE(10) Distributed DBMSPage 4. 7
External View Definition Example 1 Create a BUDGET view from the PROJ relation CREATE VIEW BUDGET(PNAME, BUD) AS SELECT PNAME, BUDGET FROM PROJ Distributed DBMSPage 4. 8
External View Definition Example 2 Create a Payroll view from relations EMP and TITLE_SALARY CREATE VIEW PAYROLL (ENO, ENAME, SAL) AS SELECT EMP.ENO,EMP.ENAME,PAY.SAL FROM EMP, PAY WHERE EMP.TITLE = PAY.TITLE Distributed DBMSPage 4. 9
DBMS Implementation Alternatives Distribution Peer-to-peer Distributed DBMS Distributed multi-dbms Client/server Autonomy Multi-DBMS Heterogeneity Federated DBMS Distributed DBMSPage 4. 10
Dimensions of the Problem Distribution Whether the components of the system are located on the same machine or not Heterogeneity Various levels (hardware, communications, operating system) DBMS important one data model, query language,transaction management algorithms Autonomy Not well understood and most troublesome Various versions Design autonomy: Ability of a component DBMS to decide on issues related to its own design. Communication autonomy: Ability of a component DBMS to decide whether and how to communicate with other DBMSs. Execution autonomy: Ability of a component DBMS to execute local operations in any manner it wants to. Distributed DBMSPage 4. 11
Datalogical Distributed DBMS Architecture... ES 1 ES 2 ES n GCS... LCS 1 LCS 2 LCS n... LIS 1 LIS 2 LIS n Distributed DBMSPage 4. 12
Datalogical Multi-DBMS Architecture GES 1 GES 2... GES n LES 11 LES 1n GCS LES n1 LES nm LCS 1 LCS 2 LCS n LIS 1 LIS 2 LIS n Distributed DBMSPage 4. 13
Timesharing Access to a Central Database No data storage Host running all software Terminals or PC terminal emulators Batch requests Communications Response Network Application Software DBMS Services Database Distributed DBMSPage 4. 14
Multiple Clients/Single Server Applications Client Services Communications Applications Client Services Communications Applications Client Services Communications High-level requests Communications Filtered data only LAN DBMS Services Database Distributed DBMSPage 4. 15
Task Distribution QL Interface Application Communications Manager SQL query Communications Manager Query Optimizer Lock Manager Storage Manager Page & Cache Manager Programmatic Interface result table Database Distributed DBMSPage 4. 16
Advantages of Client-Server Architectures More efficient division of labor Horizontal and vertical scaling of resources Better price/performance on client machines Ability to use familiar tools on client machines Client access to remote data (via standards) Full DBMS functionality provided to client workstations Overall better system price/performance Distributed DBMSPage 4. 17
Problems With Multiple- Client/Single Server Server forms bottleneck Server forms single point of failure Database scaling difficult Distributed DBMSPage 4. 18
Multiple Clients/Multiple Servers directory caching query decomposition commit protocols Applications Client Services Communications LAN Communications DBMS Services Communications DBMS Services Database Database Distributed DBMSPage 4. 19
Server-to-Server SQL interface programmatic interface other application support environments Applications Client Services Communications LAN Communications DBMS Services Communications DBMS Services Database Database Distributed DBMSPage 4. 20
Peer-to-Peer Component Architecture User requests USER USER PROCESSOR External Schema DATA PROCESSOR Database System responses Distributed DBMSPage 4. 21 User Interface Handler Semantic Data Controller Global Query Optimizer Global Execution Monitor Local Query Processor Local Recovery Manager Runtime Support Processor Global Conceptual Schema GD/D Local Conceptual Schema System Log Local Internal Schema
Components of a Multi-DBMS Responses USER Global Requests GTP GS GUI GRM GQP GQO Local Requests Component Interface Processor (CIP) Component Interface Processor (CIP) Local Requests D B M S User Interface Query Processor Query Optimizer Transaction Manager Scheduler Recovery Manager D B M S Transaction Manager Scheduler Recovery Manager User Interface Query Processor Query Optimizer Runtime Sup. Processor Runtime Sup. Processor Distributed DBMSPage 4. 22
Directory Issues Type Global & central & non-replicated Local & central & non-replicated (?) Local & distributed & non-replicated Local & central & replicated (?) Global & distributed & non-replicated (?) Global & central & replicated (?) Replication Global & distributed & replicated Local & distributed & replicated Location Distributed DBMSPage 4. 23