Lecture 3
Lecture 3
Architecture
Architecture
The architecture of a system defines its structure
• the components of the system are identified
• the function of each component is specified
• the interrelationships and interactions among
the components are defined.
Applies both for computer systems as well as for
software systems,
e.g, – division into modules, description of
modules, etc. – architecture of a computer
ARCHITECTURAL MODELS FOR
DISTRIBUTED DBMS
ARCHITECTURAL MODELS FOR
DISTRIBUTED DBMS
The systems are characterized with respect to:
(1) the autonomy of the local systems,
(2) their distribution,
(3) their heterogeneity
Dimension 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 DBMS.
• Execution autonomy: Ability of a component DBMS to execute local
operations in any manner it wants to.
ANSI/SPARC Architecture
• At the lowest level of the architecture is the
internal view, which deals with the physical
definition and organization of data.
GCS
LCS1 LCS2
... LCSn
Local Recovery
User Interface
Global Query
Local Query
Controller
Optimizer
Execution
Handler
Processor
Processor
Manager
Runtime
Monitor
Support
USER Global
System
responses
• user interface handler is responsible for interpreting
user commands as they come in, and formatting the
result data as it is sent to the use.
• The semantic data controller uses the integrity
constraints and authorization
• The global query optimizer and decomposer
determines translates the global queries into local ones
using the global and local conceptual schemas.
• The distributed execution monitor coordinates the
distributed execution of the user request. The
execution monitor is also called the distributed
transaction manager. In executing queries in a
distributed fashion
• The local query optimizer, which actually acts as
the access path selector, is responsible for
choosing the best access path5 to access any data
item.
• The local recovery manager is responsible for
making sure that the local database remains
consistent even when failures occur.
• The run-time support processor physically
accesses the database according to the physical
commands in the schedule generated by the
query optimizer.
Data logical Multi-DBMS Architecture
Local Local
User Multi-DBMS User
Request Layer Request
Global Global Global
Subrequest Subrequest Subrequest