Outline Introduction Background Distributed DBMS Architecture Datalogical Architecture
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 DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 1
Architecture Defines the structure of the system components identified functions of each component defined interrelationships and interactions between components defined Distributed DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 2
ANSI/SPARC Architecture Users External Schema Conceptual Schema Internal Schema Distributed DBMS External view Conceptual view Internal view © 1998 M. Tamer Özsu & Patrick Valduriez Page 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 DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 4
Conceptual Schema Definition RELATION EMP [ KEY = {ENO} ATTRIBUTES = { ENO : ENAME TITLE CHARACTER(9) : CHARACTER(15) : CHARACTER(10) } ] RELATION PAY [ KEY = {TITLE} ATTRIBUTES = { TITLE SAL : : CHARACTER(10) NUMERIC(6) } ] Distributed DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 5
Conceptual Schema Definition RELATION PROJ [ KEY = {PNO} ATTRIBUTES = { PNO : PNAME BUDGET CHARACTER(7) : CHARACTER(20) : NUMERIC(7) } ] RELATION ASG [ KEY = {ENO, PNO} ATTRIBUTES = { ENO : PNO : RESP : DUR : CHARACTER(9) CHARACTER(7) CHARACTER(10) NUMERIC(3) } ] Distributed DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 6
Internal Schema Definition RELATION EMP [ KEY = {ENO} ATTRIBUTES = { ENO : ENAME TITLE : CHARACTER(9) : CHARACTER(15) CHARACTER(10) } ] INTERNAL_REL EMPL [ INDEX ON E# CALL EMINX FIELD = { HEADER E#: BYTE(9) ENAME TIT : BYTE(10) : BYTE(15) } ] Distributed DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 7
External View Definition – Example 1 Create a BUDGET view from the PROJ relation CREATE VIEW BUDGET(PNAME, BUD) AS SELECTPNAME, BUDGET FROM PROJ Distributed DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 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 DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 9
DBMS Implementation Alternatives Distribution Distributed multi-DBMS Peer-to-peer Distributed DBMS Client/server Autonomy Multi-DBMS Federated DBMS Heterogeneity Distributed DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 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 DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 11
Datalogical Distributed DBMS Architecture ES 1 ES 2 . . . ESn GCS Distributed DBMS LCS 1 LCS 2 LIS 1 LIS 2 . . . LCSn LISn © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 12
Datalogical Multi-DBMS Architecture LES 11 Distributed DBMS . . . GESn GES 1 GES 2 LES 1 n GCS LESn 1 … LCS 1 LCS 2 … LCSn LIS 1 LIS 2 … LISn … © 1998 M. Tamer Özsu & Patrick Valduriez LESnm Page 4. 13
Timesharing Access to a Central Database • No data storage • Host running all software Terminals or PC terminal emulators Batch requests Response Network Communications Application Software DBMS Services Database Distributed DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 14
Multiple Clients/Single Server Applications Client Services Communications High-level requests Filtered data only LAN Communications DBMS Services Database Distributed DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 15
Task Distribution Application QL Interface … Programmatic Interface Communications Manager SQL query result table Communications Manager Query Optimizer Lock Manager Storage Manager Page & Cache Manager Database Distributed DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 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 DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 17
Problems With Multiple-Client/Single Server forms bottleneck Server forms single point of failure Database scaling difficult Distributed DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 18
Multiple Clients/Multiple Servers directory caching query decomposition commit protocols Applications Client Services Communications LAN Communications DBMS Services Database Distributed DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Database Page 4. 19
Server-to-Server SQL interface programmatic interface other application support environments Applications Client Services Communications LAN Distributed DBMS Communications DBMS Services Database © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 20
Peer-to-Peer Component Architecture System Log Local Internal Schema Database Runtime Support Processor Local Conceptual Schema Local Recovery Manager GD/D Global Execution Monitor Global Query Optimizer USER Global Conceptual Schema Semantic Data Controller User requests User Interface Handler External Schema DATA PROCESSOR Local Query Processor USER PROCESSOR System responses Distributed DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 21
Components of a Multi-DBMS USER Responses Local Requests GTP GUI GQP GS GRM GQO Component Interface Processor (CIP) D B M S Global Requests User Interface Transaction Manager Query Processor Scheduler Query Optimizer Recovery Manager Component Interface Processor (CIP) … D B M S Transaction Manager User Interface Scheduler Query Processor Recovery Manager Query Optimizer Runtime Sup. Processor Distributed DBMS © 1998 M. Tamer Özsu & Patrick Valduriez Local Requests Runtime Sup. Processor Page 4. 22
Directory Issues Type Global & central & non-replicated Local & central & non-replicated (? ) Local & distributed & non-replicated Global & distributed & non-replicated (? ) Local & central & replicated (? ) Location Global & central & replicated (? ) Local & distributed & replicated Replication Distributed DBMS Global & distributed & replicated © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 23
- Slides: 23