Comparison of Replication Alternatives / Full replication, Partial replication, and Partitioning - A comparison / Comparison of various data allocation alternatives in distributed database
Comparison of Data allocation or Replication Alternatives
First few definitions to recall.
Allocation
of fragments – after
completing fragmentation process, the next important step is to allocate those
fragments to different locations/sites [servers]. Careful allocation leads to
reduced communication as well as increased performance.
Full
replication -
availability of same copy of a database in multiple locations/sites is referred
as full
replication.
Partial
replication - database
gets fragmented and some of the fragments are replicated(multiple copies of
same fragment) and maintained at many locations/sites. This kind of
distribution is called partial replication.
Partitioning -
a non-replicated database is called as partitioned database. That is, a
table is fragmented and each fragment is stored at different locations.
Full Replication
|
Partial Replication
|
Partitioning
|
|
Query Processing
|
Easy
Same copy of database available
at different sites, hence query processing is easy.
|
Same level of difficulty
A query generated at
different sites for the data residing at some other sites, the query need to
be processed to understand location in which data resides and to find an
optimal execution strategy.
|
|
Directory Management
|
Easy or does not exist
All tables are of
similar structure; hence we do not need Global catalog. The regular data
dictionary used in centralized database systems is enough.
|
Same level of difficulty
We need Global catalog
to know the data and its location.
|
|
Concurrency Control
|
Moderate
Simultaneous
read
can be allowed at all the replicas by any number of transactions. Simultaneous write can be permitted at
only one replica at a time. Any write
transaction needs to change the data at all locations. Hence, the
concurrency control is moderate.
|
Difficult
Data are fragmented as
well as replicated. It is difficult to handle concurrent transactions which
involves data from replicated copies or fragmented and replicated copies.
|
Easy
In partitioned database,
data at different sites are unique to that site in which the data resides; handling
concurrent transactions is just like handling concurrent executions in a
centralized database. Hence, it is considered easy.
|
Reliability
|
Very high
Multiple copies of same
database increase the availability.
Failure of any site would not cause trouble in accessing data. Still data can
be accessed from sites that are alive. Hence, reliability is very high.
|
High
Availability of multiple
copies for few fragments would still support reliability.
|
Low
As individual fragments
at individual sites are unique, they are vulnerable to single point of failure. Hence, the reliability is low.
|
Reality
|
Possible application
|
Realistic application
|
Possible application
|
i preview this blog. Most of the points are very interesting to read. its help me to study also. Thanks for your help.
ReplyDeletecore java training in chennai
core java training
core java Training in Porur
clinical sas course
Spring Training in Chennai
QTP Training in Chennai
Manual Testing Training in Chennai
JMeter Training in Chennai