Distributed Database
Download
Report
Transcript Distributed Database
Chapter 9 :
Distributed Database
Chapter 9 - Objectives
Concepts.
Advantages and disadvantages of distributed
databases.
Functions and architecture for a DDBMS.
Comparison criteria for DDBMSs.
Concepts
Distributed Database
– A logically interrelated collection of shared data
(and a description of this data), physically
distributed over a computer network.
Distributed DBMS
– Software system that permits the management of
the distributed database and makes the distribution
transparent to users.
Centralized & Distributed Database
Single site database – centralized database
– A database is located at a single site
Multi-site database – distributed database
– A database is stored on multiple computers (not
connected)
Centralised DB – DB located at single site or
location
Dumb
Terminal
Central
Computer
DB
Dumb
Terminal
Remote
Terminal
Distributed
DB – DB distributed over several sites
DBMS 1
DBMS 3
Network
DBMS 2
Centralized & Distributed Database
Ad/Disadvantages of centralized database
– Performance degradation (no. of users)
– High cost (when no. of access , communication
transmission cost
– Fast access as all at one site (advantage)
– Reliability issues (if one fails, all process stop)
Centralized & Distributed Database
Advantages of distributed database
– Reduced cost – data needed at the local site, so
reduce cost
– High availability – if one site fails, data can be
still accessed from other sites
– Support graphical interfaces – more user
friendly interfaces
– Shared workload – spread over several sites
Data Distribution Strategies
allocation or distribution – a process of deciding
where to locate the data
Three strategies
– Centralized – at a single site
– Partitioned – split the database (vertical/horizontal)
– Replication – duplicates the database/copy
Data
Data Replication
Two
types of replication :
– Fully replicated – same data store at several site
– Partially replicated – part of database at another site
Data Replication
Advantages (available locally) :
– Fast response (queries processed faster)
– Reduced transmission cost (DB close to user)
– High reliability (got copies)
Disadvantages (duplicate/redundant data):
– Increased storage requirement
– Increased cost (changes/update must be done to all the DB)
– Reduced security (poor security at one site, allows attacks to all the
data in DB)
Partitioning
Two types of partitioning
i. Horizontal partitioning – rows of table are distributed
Advantages :
– Fast access
– Reduced cost
– Security
Disadvantages :
– Backup problem
– Varying access speed
Student_ID
Student_Name
Age
A1
Ali
22
A2
Siti
46
A3
Raju
44
A4
Karen
21
Row 1 and 2 are split from the original table
and located in different location
Partitioning
ii. Vertical partitioning – columns of
Advantages :
–
–
–
Fast access
Reduced cost
security
table are distributed
Student_ID
Student_Name
Age
Disadvantages :
–
–
Backup problem
Speed difference
Column 1 and 2 are split from the original table
and located in different location
Distributed DBMS
Distributed processing for distributed database
Must provide the following transparencies :
– Transaction transparency?
– Distribution transparency?
– Failure transparency?
– Performance transparency?
– Heterogeneity transparency?
Transaction transparency?
Transaction maintains consistency and the transaction
completed entirely or it is aborted
Distribution transparency?
Gives an impression to user that there is only one DB when in
actual fact it is split and scattered at several sites
Failure transparency?
if any site fails, it is not known by other users at other sites, their
transaction goes on as usual
Performance transparency?
The overall performance of the DDBMS is not significantly
different from the centralized DB
Heterogeneity transparency?
Gives an impression that there is only one DBMS being used
when in actual fact there are several DBMS being used
Client/server is normally a 2-tier architecture
1. Tier-1 : Client
2. Tier-2 : DB server
More complex client/server or web-based systems
may require 3-tier architecture
1. Tier 1 : Client
2. Tier 2 : Application server
3. Tier 3 : DB server
ODBC (Open DB Connectivity) Standard
Is an interface by which application programs can access
and process SQL databases in a DBMS-independent manner
Any application that uses the ODBC interface will be able
to access any other DB without changing the program
coding
If you have an application program that uses ODBC
interface, you should be able to access an Oracle, Informix,
Access or other DB.
END