Outline
Introduction
What is a distributed DBMS
Problems
Current state-of-affairs
Background
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 Page 1.1
File Systems
program 1
File 1
data description 1
program 2
data description 2 File 2
program 3
data description 3 File 3
Distributed DBMS Page 1.2
Database Management
Application
program 1
(with data
semantics)
DBMS
description
Application
program 2 manipulation
(with data database
semantics) control
Application
program 3
(with data
semantics)
Distributed DBMS Page 1.3
Motivation
Database Computer
Technology Networks
integration distribution
Distributed
Database
Systems
integration
integration ≠ centralization
Distributed DBMS Page 1.4
Distributed Computing
A concept in search of a definition and a name.
A number of autonomous processing elements
(not necessarily homogeneous) that are
interconnected by a computer network and that
cooperate in performing their assigned tasks.
Distributed DBMS Page 1.5
Distributed Computing
Synonymous terms
distributed function
distributed data processing
multiprocessors/multicomputers
satellite processing
backend processing
dedicated/special purpose computers
timeshared systems
functionally modular systems
Distributed DBMS Page 1.6
What is distributed …
Processing logic
Functions
Data
Control
Distributed DBMS Page 1.7
What is a Distributed Database
System?
A distributed database (DDB) is a collection of multiple,
logically interrelated databases distributed over a
computer network.
A distributed database management system (D–DBMS)
is the software that manages the DDB and provides an
access mechanism that makes this distribution
transparent to the users.
Distributed database system (DDBS) = DDB + D–DBMS
Distributed DBMS Page 1.8
What is not a DDBS?
A timesharing computer system
A loosely or tightly coupled multiprocessor
system
A database system which resides at one of the
nodes of a network of computers - this is a
centralized database on a network node
Distributed DBMS Page 1.9
Centralized DBMS on a Network
Site 1
Site 2
Site 5
Communication
Network
Site 4 Site 3
Distributed DBMS Page 1.10
Distributed DBMS Environment
Site 1
Site 2
Site 5
Communication
Network
Site 4 Site 3
Distributed DBMS Page 1.11
Implicit Assumptions
Data stored at a number of sites each site
logically consists of a single processor.
Processors at different sites are interconnected
by a computer network no multiprocessors
parallel database systems
Distributed database is a database, not a
collection of files data logically related as
exhibited in the users’ access patterns
relational data model
D-DBMS is a full-fledged DBMS
not remote file system, not a TP system
Distributed DBMS Page 1.12
Shared-Memory Architecture
P1 Pn M
D
Examples : symmetric multiprocessors (Sequent,
Encore) and some mainframes
(IBM3090, Bull's DPS8)
Distributed DBMS Page 1.13
Shared-Disk Architecture
P1 Pn
D
M1 Mn
Examples : DEC's VAXcluster, IBM's IMS/VS
Data Sharing
Distributed DBMS Page 1.14
Shared-Nothing Architecture
P1 Pn
D1 Dn
M1 Mn
Examples : Teradata's DBC, Tandem, Intel's
Paragon, NCR's 3600 and 3700
Distributed DBMS Page 1.15
Applications
Manufacturing - especially multi-plant
manufacturing
Military command and control
EFT
Corporate MIS
Airlines
Hotel chains
Any organization which has a
decentralized organization structure
Distributed DBMS Page 1.16
Distributed DBMS Promises
Transparent management of distributed,
fragmented, and replicated data
Improved reliability/availability through
distributed transactions
Improved performance
Easier and more economical system expansion
Distributed DBMS Page 1.17
Transparency
Transparency is the separation of the higher level
semantics of a system from the lower level
implementation issues.
Fundamental issue is to provide
data independence
in the distributed environment
Network (distribution) transparency
Replication transparency
Fragmentation transparency
horizontal fragmentation: selection
vertical fragmentation: projection
hybrid
Distributed DBMS Page 1.18
Example
EMP ASG
ENO ENAME TITLE ENO PNO RESP DUR
E1 J. Doe Elect. Eng. E1 P1 Manager 12
E2 M. Smith Syst. Anal. E2 P1 Analyst 24
E3 A. Lee Mech. Eng. E2 P2 Analyst 6
E4 J. Miller Programmer E3 P3 Consultant 10
E5 B. Casey Syst. Anal. E3 P4 Engineer 48
E6 L. Chu Elect. Eng. E4 P2 Programmer 18
E7 R. Davis Mech. Eng. E5 P2 Manager 24
E8 J. Jones Syst. Anal. E6 P4 Manager 48
E7 P3 Engineer 36
E7 P5 Engineer 23
E8 P3 Manager 40
PROJ PAY
PNO PNAME BUDGET TITLE SAL
P1 Instrumentation 150000 Elect. Eng. 40000
P2 Database Develop. 135000 Syst. Anal. 34000
P3 CAD/CAM 250000 Mech. Eng. 27000
P4 Maintenance 310000 Programmer 24000
Distributed DBMS Page 1.19
Transparent Access
SELECT ENAME,SAL
Tokyo
FROM EMP,ASG,PAY
WHERE DUR > 12
Boston Paris
AND EMP.ENO = ASG.ENO
AND PAY.TITLE = EMP.TITLE Paris projects
Paris employees
Communication Paris assignments
Network Boston employees
Boston projects
Boston employees
Boston assignments
Montreal
New
Montreal projects
York
Paris projects
Boston projects New York projects
New York employees with budget > 200000
New York projects Montreal employees
New York assignments Montreal assignments
Distributed DBMS Page 1.20
Distributed Database - User View
Distributed Database
Distributed DBMS Page 1.21
Distributed DBMS - Reality
User
Query
DBMS
Software
User
Application
DBMS
Software
DBMS Communication
Software Subsystem
User
DBMS User Application
Software Query DBMS
Software
User
Query
Distributed DBMS Page 1.22
Potentially Improved Performance
Proximity of data to its points of use
Requires some support for fragmentation and replication
Parallelism in execution
Inter-query parallelism
Intra-query parallelism
Distributed DBMS Page 1.23
Parallelism Requirements
Have as much of the data required by each
application at the site where the application
executes
Full replication
How about updates?
Updates to replicated data requires implementation of
distributed concurrency control and commit protocols
Distributed DBMS Page 1.24
System Expansion
Issue is database scaling
Emergence of microprocessor and workstation
technologies
Demise of Grosh's law
Client-server model of computing
Data communication cost vs telecommunication
cost
Distributed DBMS Page 1.25
Distributed DBMS Issues
Distributed Database Design
how to distribute the database
replicated & non-replicated database distribution
a related problem in directory management
Query Processing
convert user transactions to data manipulation
instructions
optimization problem
min{cost = data transmission + local processing}
general formulation is NP-hard
Distributed DBMS Page 1.26
Distributed DBMS Issues
Concurrency Control
synchronization of concurrent accesses
consistency and isolation of transactions' effects
deadlock management
Reliability
how to make the system resilient to failures
atomicity and durability
Distributed DBMS Page 1.27
Relationship Between
Issues
Directory
Management
Query Distribution
Reliability
Processing Design
Concurrency
Control
Deadlock
Management
Distributed DBMS Page 1.28
Related Issues
Operating System Support
operating system with proper support for database
operations
dichotomy between general purpose processing
requirements and database processing requirements
Open Systems and Interoperability
Distributed Multidatabase Systems
More probable scenario
Parallel issues
Distributed DBMS Page 1.29