Sunday, February 22, 2015

Comparison of Replication Alternatives in Distributed Database Design

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





No comments:

Post a Comment