Transcript Chapter 12

Chapter 12
Distributed Data Bases
Learning Objectives
• What a distributed database management
system (DDBMS) is and what its components
are
• How database implementation is affected by
different levels of data and process distribution
• How transactions are managed in a distributed
database environment
• How database design is affected by the
distributed database environment
Objectives of DDS
B
• Provide ease of access to users at
different sites
• Local autonomy
• Create transparency
• Faster response
DDB
A DB PHYSICALLY SPREAD ACROSS
COMPUTERS AT MULTIPLE
LOCATIONS CONNECTED BY A
NETWORK AND IN WHICH USERS CAN
ACCESS DATA AT ANY SITE IN THE
NETWORK IS DEFINED AS DDB
DISTRIBUTE DBMS
A DBMS CAPABLE OF SUPPORTING AND
MANIPULATING DDB
• DETERMINE LOCATION OF
REQUESTED DATA
• TRANSFER REQUEST FROM ONE
NODE TO ANOTHER NODE
• RECOVERY, CONCURRENCY,
DEADLOCK etc
DDBMS
a DDBMS is like a DBMS with additional
responsibilities of communication and
coordination of data storage and
processing over several distributed sites
Advantages of DDB
• Data is located at the demand site faster
data access
• faster data processing
• growth facilitation
• better communication
• reduced operating costs
• user-friendly interface
• less problem of a single point failure
DDB disadvantages
•
•
•
•
management & control
security
lack of standards
storage problem
A Fully Distributed Database
Management System
Distributed processing & distributed
Databases
• Distributed processing: Data is processed at
multiple sites
(Data maybe all in ONE location)
DDB:
Database is actually located on multiple sites
(see fig 12.3)
Skip pp462-463
Levels of processing
Single site processing; single site data
(see fig 12.6)
Multiple site process; single site data
(MPSD)
All work is done (locking, selection etc. is
done at user level)
Multiple-site processing; multiple site data
Figure D10.4 Multiple Requests and any Combination of Remote Databases
REQUEST
REQUEST
REQUEST
TRANSPARENCY:
1. DISTRIBUTION
1. FRAGMENTATION
HIGHEST LEVEL DO NOT NEED TO
SPECIFY FRAGMENT NAME OR
LOCATION
2.
LOCATION
MUST SPECIFY NAME BUT not LOCATION
3.
LOCAL
Must specify both name and location of
fragment
Transparency
Assuming part table is fragmented based on warehouse #
Select * from Part
Where warehouse =1;
Select * from part1
Where warehouse=1;
Select * from part1 node Chicago
Where warehouse =1;
Data fragmentation
A process of splitting data in two or more
fragments
Horizontal
Vertical
mixed
Using SQL type statements
Begin:
Define fragment fragment-name AS
SQL statements
End;
Horizontal Fragmentation: (Based on warehouse)
Ex: Begin:
Define fragment PART1 AS
Select *
From PART
Where warehouse=1
End;
Vertical (based on say price)
• Inventory department maybe interested in
on hand inventory only but other may be
interested in other attributes
• Inventory..partnum,onhand,part desc
• Production..partnum,class,warehouse,price
Mixed
Each item by warehouse number
(horizontal) and then by inventory &
production
Transaction Transparency
• Remote request (see 12.10)
(single request)
• Remote transaction
(multiple requests)
Distributed transaction
(12.12/p472)
(allows a transaction to reference several
different locations
Each single request can reference only one
single site
Distributed Request
• Each transaction can request data from
multiple sites
Data Allocation:
• data should be as close to the user as
possible
ISSUES IN DDB
•
•
•
•
SOFTWARE COSTS & COMPLEXITY
COORDINATION AMONG SITES
DATA INTEGRITY
SLOW RESPONSE
• Q1/p487
Use the following summary:
Number of DPs
Operation
1
>1
Request
Remot
e
Distribute
d
Transactio
Remot
Distribute