Title: Outline
1Outline
- Introduction
- Background
- Distributed DBMS Architecture
- Introduction to Database Concepts
- Alternatives in Distributed Database Systems
- Datalogical Architecture
- Implementation Alternatives
- Component Architecture
- Distributed Database Design (Briefly)
- Distributed Query Processing (Briefly)
- Distributed Transaction Management (Extensive)
- Building Distributed Database Systems (RAID)
- Mobile Database Systems
- Privacy, Trust, and Authentication
- Peer to Peer Systems
2Alternatives in Distributed Database Systems
3Dimensions 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.
4Datalogical Distributed DBMS Architecture
...
ES1
ESn
ES2
- ES External Schema
- GCS Global Conceptual Schema
- LCS Local Conceptual Schema
- LIS Local Internal Schema
GCS
...
LCS1
LCS2
LCSn
...
LIS1
LIS2
LISn
5Datalogical Multi-DBMS Architecture
...
GESn
GES2
GES1
GCS
LES11
LES1n
LESn1
LESnm
LCS2
LCSn
LCS1
LIS1
LIS2
LISn
- GES Global External Schema
- LES Local External Schema
- LCS Local Conceptual Schema
- LIS Local Internal Schema
6Timesharing Access to a Central Database
Terminals or PC terminal emulators
- No data storage
- Host running all software
Network
Batch requests
Response
Communications
Application Software
DBMS Services
7Multiple Clients/Single Server
Applications
Applications
Applications
Client Services
Client Services
Client Services
Communications
Communications
Communications
LAN
High-level requests
Filtered data only
8Task Distribution
Application
QL Interface
Programmatic Interface
Communications Manager
SQL query
result table
Communications Manager
Query Optimizer
Lock Manager
Storage Manager
Page Cache Manager
9Advantages 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
10Problems With Multiple-Client/Single Server
- Server forms bottleneck
- Server forms single point of failure
- Database scaling difficult
11Multiple Clients/Multiple Servers
- directory
- caching
- query decomposition
- commit protocols
Applications
Client Services
Communications
LAN
12Server-to-Server
- SQL interface
- programmatic interface
- other application support environments
Applications
Client Services
Communications
LAN
13Components of a Multi-DBMS
USER
Global Requests
Responses
GTP
GQP
GUI
GQO
GS
GRM
Component Interface Processor (CIP)
Component Interface Processor (CIP)
Local Requests
Local Requests
User Interface
Transaction Manager
User Interface
Transaction Manager
D B M S
D B M S
Query Processor
Scheduler
Query Processor
Scheduler
Query Optimizer
Recovery Manager
Query Optimizer
Recovery Manager
Runtime Sup. Processor
Runtime Sup. Processor
14Directory 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