Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Extensible Storage Engine wikipedia , lookup
Commitment ordering wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Serializability wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Ingres (database) wikipedia , lookup
Database model wikipedia , lookup
Clusterpoint wikipedia , lookup
Relational model wikipedia , lookup
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 External view External view Conceptual Schema Conceptual view Internal Schema Internal view Distributed DBMS External 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 : CHARACTER(9) ENAME : CHARACTER(15) TITLE : 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 : 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 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# ENAME TIT : BYTE(1) : BYTE(9) : BYTE(15) : BYTE(10) } ] 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 SELECT PNAME, 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 AS Distributed DBMS VIEW SELECT FROM WHERE PAYROLL (ENO, ENAME, SAL) EMP.ENO,EMP.ENAME,PAY.SAL EMP, PAY EMP.TITLE = PAY.TITLE © 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 ES1 ES2 ... ESn GCS Distributed DBMS LCS1 LCS2 LIS1 LIS2 ... ... LCSn LISn © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 12 Datalogical Multi-DBMS Architecture LES11 Distributed DBMS ... GESn GES1 GES2 LES1n GCS LESn1 … LCS1 LCS2 … LCSn LIS1 LIS2 … LISn … © 1998 M. Tamer Özsu & Patrick Valduriez LESnm Page 4. 13 Timesharing Access to a Central Database • No data storage Terminals or PC terminal emulators • Host running all software 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 Applications Applications Client Services Communications Client Services Communications Client Services Communications LAN High-level requests Filtered data only 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 MultipleClient/Single Server 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 Communications DBMS Services DBMS Services Database Distributed DBMS Database © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 19 Server-to-Server SQL interface programmatic interface other application support environments Applications Client Services Communications LAN Distributed DBMS Communications Communications DBMS Services DBMS Services Database Database © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 20 Peer-to-Peer Component Architecture Local Internal Schema Database Runtime Support Processor System Local Conceptual Log 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 User Interface Transaction Manager Query Processor Scheduler Query Optimizer Recovery Manager Runtime Sup. Processor Distributed DBMS Global Requests Component Interface Processor Local (CIP) Requests … D B M S Transaction Manager User Interface Scheduler Query Processor Recovery Manager Query Optimizer Runtime Sup. Processor © 1998 M. Tamer Özsu & Patrick Valduriez Page 4. 22 Directory Issues Type Global & central & non-replicated Local & distributed & non-replicated Local & central & 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