Transcript ch16
Distributed and mobile DBMSs
Transparencies
Chapter 16 - Objectives
Main concepts of distributed DBMSs (DDBMSs)
Differences between DDBMSs and distributed
processing.
Advantages and disadvantages of distributed
databases.
Main issues associated with distributed database
design.
How fragmentation should be carried out.
The importance of allocation and replication.
©Pearson Education 2009
2
Chapter 16 - Objectives
Levels of transparency that should be provided by
DDBMS.
Main
concepts associated with database
replication.
Main concepts associated with mobile DBMSs.
©Pearson Education 2009
3
DDBMS 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.
©Pearson Education 2009
4
DDBMS concepts
Collection of logically-related shared data.
Data split into fragments.
Fragments may be replicated.
Fragments/replicas allocated to sites.
Sites linked by a communications network.
Data at each site is under control of a DBMS.
DBMSs handle local applications autonomously.
Each DBMS participates in at least one global
application.
©Pearson Education 2009
5
Distributed DBMS
©Pearson Education 2009
6
Distributed processing
A centralized database that can be accessed over a
computer network.
©Pearson Education 2009
7
Advantages of DDBMSs
Reflects organizational structure
Improved shareability and local autonomy
Improved availability
Improved reliability
Improved performance
Economics
Modular growth.
©Pearson Education 2009
8
Disadvantages of DDBMSs
Complexity
Cost
Security
Integrity control more difficult
Lack of standards
Lack of experience
Database design more complex.
©Pearson Education 2009
9
Types of DDBMS
Homogeneous DDBMS
All sites use same DBMS product.
Much easier to design and manage.
Approach provides incremental growth and allows
increased performance.
Heterogeneous DDBMS
Sites may run different DBMS products, with
possibly different underlying data models.
Occurs when sites have implemented their own
databases and integration is considered later.
Translations required. Typical solution: gateways.
©Pearson Education 2009
10
Multidatabase system (MDBS)
DDBMS in which each site maintains complete
autonomy.
DBMS that resides transparently on top of existing
database and file systems and presents a single
database to its users.
Allows users to access and share data without
requiring physical database integration.
Unfederated MDBS (no local users) and federated
MDBS.
©Pearson Education 2009
11
Taxonomy of DBMSs
©Pearson Education 2009
12
Distributed database design
Three key issues:
Fragmentation,
Allocation,
Replication.
©Pearson Education 2009
13
Distributed database design
Fragmentation
Relation may be divided into a number of subrelations, which are then distributed.
Allocation
Each fragment is stored at site with “optimal”
distribution.
Replication
Copy of fragment may be maintained at several sites.
©Pearson Education 2009
14
Fragmentation
Definition and allocation of fragments carried out
strategically to achieve:
Locality of Reference.
Improved Reliability and Availability.
Improved Performance.
Balanced Storage Capacities and Costs.
Minimal Communication Costs.
Involves analyzing most important applications,
based on quantitative/qualitative information.
©Pearson Education 2009
15
Fragmentation
Quantitative information may include:
frequency with which an application is run;
site from which an application is run;
performance
criteria for transactions
applications.
and
Qualitative information may include transactions
that are executed by application, type of access
(read or write), and predicates of read operations.
©Pearson Education 2009
16
Why fragment?
Usage: Applications work with views rather than
entire relations.
Efficiency: Data is stored close to where it is most
frequently used.
Data that is not needed by local applications is not
stored.
Parallelism:
With fragments as unit of
distribution, transaction can be divided into
several subqueries that operate on fragments.
Security: Data not required by local applications is
not stored and so not available to unauthorized
users.
©Pearson Education 2009
17
Why fragment? - Disadvantages
Performance,
Integrity.
©Pearson Education 2009
18
Correctness rules for fragmentation
Three correctness rules:
Completeness,
Reconstruction,
Disjointness.
©Pearson Education 2009
19
Correctness rules for fragmentation
Completeness
If relation R is decomposed into fragments R1, R2, ...
Rn, each data item that can be found in R must
appear in at least one fragment.
Reconstruction
Must be possible to define a relational operation
that will reconstruct R from the fragments.
Reconstruction for horizontal fragmentation is
Union operation and Join for vertical.
©Pearson Education 2009
20
Correctness rules for fragmentation
Disjointness
If data item di appears in fragment Ri, then it
should not appear in any other fragment.
Exception: vertical fragmentation, where primary
key attributes must be repeated to allow
reconstruction.
For horizontal fragmentation, data item is a tuple.
For vertical fragmentation, data item is an
attribute.
©Pearson Education 2009
21
Types of fragmentation
Four types of fragmentation:
Horizontal,
Vertical,
Mixed,
Derived.
Other possibility is no fragmentation:
If relation is small and not updated frequently, may
be better not to fragment relation.
©Pearson Education 2009
22
Horizontal and vertical fragmentation
©Pearson Education 2009
23
Mixed fragmentation
©Pearson Education 2009
24
Horizontal fragmentation
Consists of a subset of the records of a table.
Defined using WHERE clause in SQL SELECT.
For example:
DC1: SELECT * FROM DVDCopy WHERE dCenterNo=‘D001’;
DC2: SELECT * FROM DVDCopy WHERE dCenterNo=‘D002’;
DC3: SELECT * FROM DVDCopy WHERE dCenterNo=‘D003’;
DC4: SELECT * FROM DVDCopy WHERE dCenterNo=‘D004’;
©Pearson Education 2009
25
Vertical fragmentation
Consists of a subset of the columns of a table.
Defined using SELECT clause of SQL SELECT.
For example:
S1: SELECT staffNo, position, salary FROM Staff;
S2: SELECT staffNo, name, eMail, dCenterNo FROM Staff;
©Pearson Education 2009
26
Mixed fragmentation
Consists of a horizontal fragment that is vertically
fragmented, or a vertical fragment that is
horizontally fragmented.
For example, from above example:
SELECT * FROM S2 WHERE dCenterNo = ‘D001’;
SELECT * FROM S2 WHERE dCenterNo = ‘D002’;
SELECT * FROM S2 WHERE dCenterNo = ‘D003’;
SELECT * FROM S2 WHERE dCenterNo = ‘D004’;
©Pearson Education 2009
27
Derived horizontal fragmentation
A horizontal fragment that is based on horizontal
fragmentation of a parent relation.
Ensures that fragments that are frequently joined together
are at same site.
For example:
DR1: SELECT dr.* FROM DVDRental dr, DC1
WHERE dr.DVDNo = DC1.DVDNo;
DR2: SELECT dr.* FROM DVDRental dr, DC2
WHERE dr.DVDNo = DC2.DVDNo;
DR3: SELECT dr.* FROM DVDRental dr, DC3
WHERE dr.DVDNo = DC3.DVDNo;
DR4: SELECT dr.* FROM DVDRental dr, DC4
WHERE dr.DVDNo = DC4.DVDNo;
©Pearson Education 2009
28
Data allocation
Centralized: Consists of single database and DBMS
stored at one site with users distributed across the
network.
Partitioned: Database partitioned into disjoint
fragments, each fragment assigned to one site.
Complete Replication: Consists of maintaining
complete copy of database at each site.
Selective Replication: Combination of partitioning,
replication, and centralization.
©Pearson Education 2009
29
Comparison of data allocation strategies
©Pearson Education 2009
30
Distributed database design methodology
1.
2.
3.
4.
5.
Use normal methodology to produce a design for the
global relations.
Examine topology of system to determine where
databases will be located.
Analyze most important transactions and identify
appropriateness of horizontal/vertical fragmentation.
Decide which tables are not to be fragmented.
Examine tables on 1 side of relationships and determine
a suitable fragmentation schema. Tables on many side
may be suitable for derived fragmentation.
©Pearson Education 2009
31
Transparencies in a DDBMS
Distribution Transparency
Fragmentation Transparency
Location Transparency
Replication Transparency
Local Mapping Transparency
Naming Transparency
©Pearson Education 2009
32
Transparencies in a DDBMS
Transaction Transparency
Concurrency Transparency
Failure Transparency
Performance Transparency
DBMS Transparency
©Pearson Education 2009
33
Distribution transparency
Distribution transparency allows user to perceive
database as single, logical entity.
If DDBMS exhibits distribution transparency, user
does not need to know:
data is fragmented (fragmentation transparency),
location of data items (location transparency),
otherwise call this local mapping transparency.
With replication transparency, user is unaware of
replication of fragments.
©Pearson Education 2009
34
Transaction transparency
Ensures that all distributed
transactions
maintain distributed database’s integrity and
consistency.
In
IBM’s
Distributed
Relational
Database
Architecture (DRDA), four types of transactions:
Remote request
Remote unit of work
Distributed unit of work
Distributed request.
©Pearson Education 2009
35
IBM’s DRBA
©Pearson Education 2009
36
Concurrency transparency
All transactions must execute independently and be
logically consistent with results obtained if
transactions executed one at a time, in some arbitrary
serial order.
Same fundamental principles as for centralized
DBMS.
DDBMS must ensure both global and local
transactions do not interfere with each other.
Similarly, DDBMS must ensure consistency of all
subtransactions of global transaction.
©Pearson Education 2009
37
Concurrency transparency
Replication makes concurrency more complex.
If a copy of a replicated data item is updated, update must
be propagated to all copies.
Could propagate changes as part of original transaction,
making it an atomic operation. However, if one site
holding copy is not reachable, then transaction is delayed
until site is reachable.
Could limit update propagation to only those sites
currently available. Remaining sites updated when they
become available again.
Could allow updates to copies to happen asynchronously,
sometime after the original update. Delay in regaining
consistency may range from a few seconds to several
hours.
©Pearson Education 2009
38
Failure transparency
DDBMS must ensure atomicity and durability of
global transaction.
Means ensuring that subtransactions of global
transaction either all commit or all abort.
Thus, DDBMS must synchronize global transaction to
ensure that all subtransactions have completed
successfully before recording a final COMMIT for
global transaction.
Must do this in presence of site and network failures.
©Pearson Education 2009
39
Failure transparency – Two-phase Commit
Two phases: a voting phase and a decision phase.
Coordinator asks all participants whether they are
prepared to commit transaction.
If one participant votes abort, or fails to respond within a timeout
period, coordinator instructs all participants to abort transaction.
If all vote commit, coordinator instructs all participants to
commit.
All participants must adopt global decision.
If participant votes abort, free to abort transaction
immediately
If participant votes commit, must wait for coordinator to
broadcast global-commit or global-abort message.
©Pearson Education 2009
40
Failure transparency – Two-phase Commit
©Pearson Education 2009
41
Performance transparency
DDBMS must perform as if it were a centralized DBMS.
DDBMS should not suffer any performance degradation due to
distributed architecture.
DDBMS should determine most cost-effective strategy to execute a
request.
Must consider fragmentation, replication, and allocation
schemas.
Distributed QP maps data request into ordered sequence
of operations on local databases. DQP has to decide:
which fragment to access;
which copy of a fragment to use;
which location to use.
©Pearson Education 2009
42
Performance transparency
DQP produces execution strategy optimized with
respect to some cost function.
Typically, costs associated with a distributed request
include:
I/O cost;
CPU cost;
communication cost.
©Pearson Education 2009
43
Performance transparency - Example
Member(memberNo, mCity)
100000 records in Seattle
DVDCopy(DVDNo, catalogNo)
1000000 records in NY
Rental(memberNo, DVDNo)
1000000 records in Seattle
SELECT dc.DVDNo
FROM DVDCopy dc, Rental r, Member m
WHERE dc.DVDNo=r.DVDNo AND r.memberNo=m.memberNo
AND dc.catalogNo = ‘634817’ AND m.mCity = ‘Chicago’;
Each record is 20 characters long.
1000 members in Chicago; 200 000 rentals of ‘War of the
Worlds’ (634817).
Computation time negligible compared to communication
time.
©Pearson Education 2009
44
Performance transparency - Example
Strategy
(1) Move DVDCopy table to Seattle and process query there.
Time
(2) Move Member and Rental tables to New York and process query there.
1.17hours
33.3 mins
(3) Join Member & Rental at Seattle, select records for Chicago members, and for
each of these in turn, check at New York for an associated catalogNo = ‘634817’.
33.3mins
(4) Select DVD copies with catalogNo = ‘634817’ at New York and for each
one found, check at Seattle for a rental involving a member living in Chicago.
11.12hours
(5) Join Member and Rental tables at Seattle, select Chicago members, project
result over DVDNo, and move this result to New York for matching with
catalogNo = ‘634817’.
2 seconds
(6) Select DVD copies with catalogNo = ‘634817’ at New York and move the
result to Seattle for matching with rentals associated with Chicago members.
©Pearson Education 2009
41 seconds
45
Dates 12 rules for a DDBMS
0.
Fundamental Principle
To the user, a distributed system should look exactly
like a nondistributed system.
1.
2.
3.
4.
5.
6.
Local Autonomy
No Reliance on a Central Site
Continuous Operation
Location Independence
Fragmentation Independence
Replication Independence
©Pearson Education 2009
46
Dates 12 rules for a DDBMS
7.
8.
9.
10.
11.
12.
Distributed Query Processing
Distributed Transaction Processing
Hardware Independence
Operating System Independence
Network Independence
Database Independence
Last four rules are ideals.
©Pearson Education 2009
47
Replication servers
Replication
Process of generating and reproducing multiple
copies of data at one or more sites.
Provides users with access to current data where and
when they need it.
Provides number of benefits, including improved
performance when centralized resources get
overloaded, increased reliability and data availability,
and support for mobile computing and data
warehousing.
©Pearson Education 2009
48
Replication servers
Synchronous – updates to replicated data are part of
enclosing transaction.
If one or more sites that hold replicas are unavailable
transaction cannot complete.
Large number of messages required to coordinate
synchronization.
Asynchronous - target database updated after source
database modified.
Delay in regaining consistency may range from few
seconds to several hours or even days.
©Pearson Education 2009
49
Replication - functionality
At basic level, has to be able to copy data from one
database to another (synch or asynchronous).
Other functions include:
Scalability.
Mapping and Transformation.
Object Replication.
Specification of Replication Schema.
Subscription mechanism.
Initialization mechanism.
©Pearson Education 2009
50
Replication – data ownership
Ownership relates to which site has privilege to
update the data.
Main types of ownership are:
Master/slave (or asymmetric replication),
Workflow,
Update-anywhere
(or peer-to-peer or symmetric
replication).
©Pearson Education 2009
51
Replication – Master/Slave Ownership
Asynchronously replicated data is owned by one
(master) site, and can be updated by only that site.
Using ‘publish-and-subscribe’ metaphor, master site
makes data available.
Other sites ‘subscribe’ to data owned by master site,
receiving read-only copies.
Potentially, each site can be master site for non-
overlapping data sets, but update conflicts cannot
occur.
©Pearson Education 2009
52
Replication – Workflow Ownership
Avoids update conflicts, while providing more
dynamic ownership model.
Allows right to update replicated data to move from
site to site.
However, at any one moment, only ever one site that
may update that particular data.
Example is order processing system, which follows
steps, such as order entry, credit approval, invoicing,
shipping, and so on.
©Pearson Education 2009
53
Replication – Update Anywhere Ownership
Creates peer-to-peer environment where multiple
sites have equal rights to update replicated data.
Allows local sites to function autonomously, even
when other sites are not available.
Shared ownership can lead to conflict scenarios and
have to detect conflict and resolve it.
©Pearson Education 2009
54
Mobile databases
Witnessing increasing demands on mobile computing to
provide support for growing number of mobile workers.
Such a workforce require to work as if in the office but in
reality they are working from remote location places.
With rapid expansion of cellular, wireless, and satellite
comms, soon be possible for mobile users to access any
data, anywhere, at any time.
However, , business etiquette, practicalities, security, and
costs may still limit communication (eg. can’t get online
connection for as long as want, whenever you want).
Mobile databases offer a solution for some of these
restrictions.
55
©Pearson Education 2009
Mobile databases
Mobile database
A database that is portable and physically separate from
a centralized database server but is capable of
communicating with that server from remote sites
allowing the sharing of corporate data.
Components of a mobile database environment include:
corporate database server and DBMS that manages and stores
the corporate data and provides corporate applications;
remote database and DBMS that manages and stores the
mobile data and provides mobile applications;
mobile database platform that includes laptop, PDA, or other
Internet access devices;
two-way communication links between the corporate and
mobile DBMS.
©Pearson Education 2009
56
Mobile database environment
©Pearson Education 2009
57
Mobile DBMSs
Additional functionality required of mobile DBMSs
includes ability to:
communicate with centralized database server through
modes such as wireless or Internet access;
replicate data on centralized database server and
mobile device;
synchronize data on centralized database server and
mobile device;
capture data from various sources such as the Internet;
manage data on the mobile device;
analyze data on a mobile device;
create customized mobile applications.
58
©Pearson Education 2009