Escolar Documentos
Profissional Documentos
Cultura Documentos
D. Silberberg
Computer Architectures
The conceptual design and fundamental operational structure of a
DBMS Architectures
Architecture
The structure of a computer system Usually based on a reference model, which is an idealized
architecture model Conceptual framework that divides system into manageable pieces Demonstrates how the pieces are related
D. Silberberg
Component Architectures
Describes components of a system and their
interrelationships Each component provides functionality Their interaction provides overall system functionality This is best decomposition if you want to build a system Not best for conceptually understanding the system Usually, multiple components form a function
D. Silberberg
Functional Architectures
Different classes of users are defined A Functional Architecture defines the functions that users can perform Usually, user classes are decomposed hierarchically ANSI/SPARC architecture is an example
system
D. Silberberg
Data Architectures
Data representations and views are defined Architecture framework helps understand how they
are realized Since data is central DBMS resource, this is the representation of choice However, to fully define system, you need functions and components
D. Silberberg
External View
External View
Conceptual View
Internal View
D. Silberberg
Internal view is how the database views the structure of the data
CUST( index on C#; C# : 4 bytes, C-name: 30 bytes, C-addr : 100 bytes )
Distributed Database Systems - Distributed Database Design
D. Silberberg
dictionary/directory (not necessarily located in one place) Enterprise administrator takes care of Conceptual DB DB administrator
Takes care of Internal DB Affects/uses Conceptual DB
Application administrator
Takes care of External DB Affects/uses Conceptual DB
Data dictionary/directory
Enables schema integration Transforms different representations Defines internal and external database structures for applications
D. Silberberg Distributed Database Systems - Distributed Database Design 9
Schema Integration
Internal database application program Application System Programmer Distributed Database Systems - Distributed Database Design
Application Programmer
D. Silberberg
10
D. Silberberg
11
Definitions of Autonomy
Different definitions Gligor and Popescu-Zeletin
Local operations not affected by participation in global multi-database
systems Query processing and optimization not affected by global query access System consistency not compromised when DBs are added to/removed from global databases
Du and Elmagarmid
Design autonomy: DBs use data models and transaction management they
want Communication autonomy: DBs decide which data to provide to other DBs or applications Execution autonomy: each DB executes queries that are presented to it in its own way
D. Silberberg Distributed Database Systems - Distributed Database Design 12
Databases determine what parts of database they want to share Must be modified to exchange information with each other
D. Silberberg
13
Database Distribution
0. None 1. Client/Server -- distributes functionality of DB
D. Silberberg
14
Heterogeneity
0. Homogeneous 1. Heterogeneous Different hardware Different data models Different query languages Different transaction models
D. Silberberg
15
Examples
A0,D2,H0
Tightly integrated system DBMSs located peer-to-peer Same access, platforms, etc.
A1,D0,H1
Semiautonomous -- different type of data (video & text) No distribution Heterogeneous access
A2, D1, H1
Autonomous database systems Client/server architecture
Heterogeneous access
Functionality in middleware three-layer architecture
Distributed Database Systems - Distributed Database Design
D. Silberberg
16
Multiple-client/multiple-server
Two options
Application manages data access Application accesses one server, and it manages requests for information that reside on other servers
First loads burden on client Second loads burden on server -- "light clients"
D. Silberberg
17
Client/Server Architecture
Op Sys UI Client DBMS App Prog
Comm Software
SQL Query Op Sys Comm Software Semantic Data Controller Query Optimizer Transaction Manager Results
Recovery Manager
Runtime Support Proc Operating System
D. Silberberg
18
D. Silberberg
19
GCS
LCS1
LCS2
LCS3
LIS1
LIS2
LIS3
D. Silberberg
20
Peer-to-Peer Architecture
User UI handler Semantic Data Controller Global Query Optimizer Global Execution Monitor External Schema
GCS
GD/D
D. Silberberg
21
syntax, etc. Global query optimizer and decomposer - minimizes cost of global query, finds best strategy, etc. Distributed execution monitor - coordinates distributed execution of the request, distributed transaction manager, etc. Local query processor - chooses best access path, minimizes cost of query, finds best strategy, etc. Local recovery manager - maintains the database consistency Run-time support - O/S routines that interact with database data files
D. Silberberg
22
Bottom-up design GCS describes some of the databases GCS is subset of the databases Top-down design GCS describes all of the databases GCS is union of the databases
Distributed DBMSs
D. Silberberg
23
LCS1
LCS1
LIS1
LIS1
D. Silberberg
24
databases lies with each of the applications They must provide the mappings between ESs and LCSs Different than a distributed database
Each local system has a DBMS MDBMS provides a layer of software that runs on top of
LCS2
LCS3
LIS2
LIS3
D. Silberberg
27
Conclusion
Data architectures provide a framework for distributed
Levels of distribution
Levels of heterogeneity