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