230 likes | 436 Views
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
E N D
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
Architecture • Defines the structure of the system • components identified • functions of each component defined • interrelationships and interactions between components defined
External view External view External view ANSI/SPARC Architecture Users External Schema Conceptual view Conceptual Schema Internal Schema Internal view
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.
Conceptual Schema Definition RELATION EMP[ KEY = {ENO} ATTRIBUTES = { ENO : CHARACTER(9) ENAME : CHARACTER(15) TITLE : CHARACTER(10) } ] RELATION PAY [ KEY = {TITLE} ATTRIBUTES = { TITLE : CHARACTER(10) SAL : NUMERIC(6) } ]
Conceptual Schema Definition RELATION PROJ[ KEY = {PNO} ATTRIBUTES = { PNO : CHARACTER(7) PNAME : CHARACTER(20) BUDGET : NUMERIC(7) } ] RELATION ASG[ KEY = {ENO,PNO} ATTRIBUTES = { ENO : CHARACTER(9) PNO : CHARACTER(7) RESP : CHARACTER(10) DUR : NUMERIC(3) } ]
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) } ]
External View Definition – Example 1 Create a BUDGET view from the PROJ relation CREATE VIEW BUDGET(PNAME, BUD) AS SELECT PNAME, BUDGET FROM PROJ
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
Distribution Distributed multi-DBMS Peer-to-peer Distributed DBMS Client/server Autonomy Multi-DBMS Federated DBMS Heterogeneity DBMS Implementation Alternatives
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.
Datalogical Distributed DBMS Architecture ... ES1 ESn ES2 GCS ... LCS1 LCS2 LCSn ... LIS1 LIS2 LISn
Datalogical Multi-DBMS Architecture ... GESn GES2 GES1 … … LES11 LES1n GCS LESn1 LESnm … LCS2 LCSn LCS1 … LIS1 LIS2 LISn
Database Timesharing Access to a Central Database Terminals or PC terminal emulators • No data storage • Host running all software Batch requests Network Response Communications Application Software DBMS Services
Communications DBMS Services Database Multiple Clients/Single Server Applications Applications Applications Client Services Client Services Client Services Communications Communications Communications LAN High-level requests Filtered data only
Database Task Distribution Application QL Interface Programmatic Interface … Communications Manager SQL query result table Communications Manager Query Optimizer Lock Manager Storage Manager Page & Cache Manager
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
Problems With Multiple-Client/Single Server • Server forms bottleneck • Server forms single point of failure • Database scaling difficult
Communications Communications DBMS Services DBMS Services Database Database Multiple Clients/Multiple Servers • directory • caching • query decomposition • commit protocols Applications Client Services Communications LAN
Communications Communications DBMS Services DBMS Services Database Database Server-to-Server • SQL interface • programmatic interface • other application support environments Applications Client Services Communications LAN
USER PROCESSOR DATA PROCESSOR System Log Global Conceptual Schema Local Conceptual Schema Local Internal Schema External Schema GD/D User requests Database Runtime Support Processor Global Execution Monitor User Interface Handler Semantic Data Controller Local Recovery Manager Local Query Processor Global Query Optimizer USER System responses Peer-to-PeerComponent Architecture
Components of a Multi-DBMS USER Global Requests Responses GTP GUI GQP GS GRM GQO Component Interface Processor (CIP) Component Interface Processor (CIP) Local Requests Local Requests Transaction Manager User Interface User Interface Transaction Manager D B M S D B M S Scheduler Query Processor Query Processor Scheduler … Recovery Manager Query Optimizer Query Optimizer Recovery Manager Runtime Sup. Processor Runtime Sup. Processor
Directory Issues Type Local & distributed & non-replicated Local & central & non-replicated (?) Global & central & non-replicated Global & distributed & non-replicated (?) Local & central & replicated (?) Location Global & central & replicated (?) Local & distributed & replicated Global & distributed & replicated Replication