Distributed Database-Chapter 3
Distributed Database-Chapter 3
• Features
● Databases in the collection are logically interrelated with each other. Often they represent a single logical database.
● Data is physically stored across multiple sites. Data in each site can be managed by a DBMS independent of the
other sites.
● The processors in the sites are connected via a network. They do not have any multiprocessor configuration.
● A distributed database incorporates transaction processing, but it is not synonymous with a transaction processing
system.
DISTRIBUTED DATABASE MANAGEMENT SYSTEM
• A distributed database management system (DDBMS) is a centralized software system that manages a distributed
database in a manner as if it were all stored in a single location.
• Features
● It synchronizes the database periodically and provides access mechanisms by the virtue of which the distribution
becomes transparent to the users.
● It is used in application areas where large volumes of data are processed and accessed by numerous users
simultaneously.
• • One of the main questions that is being addressed is how database and the applications that run against it should be placed across
the sites.
• • There are two basic alternatives to placing data: partitioned (or no-replicated) and replicated.
• • In the partitioned scheme the database is divided into a number of disjoint partitions each of which is placed at different site.
Replicated designs can be either fully replicated (also called fully duplicated) where entire database is stored at each site, or partially
replicated (or partially duplicated) where each partition of the database is stored at more than one site, but not at all the sites.
• • The two fundamental design issues are fragmentation, the separation of the database into partitions called fragments, and
distribution, the optimum distribution of fragments. The research in this area mostly involve mathematical programming in order to
minimize the combined cost of storing the database, processing transactions against it, and message communication among site.
DISTRIBUTED DIRECTORY MANAGEMENT
• A directory contains information (such as descriptions and locations) about data items in the
database. Problems related to directory management are similar in nature to the database placement
problem discussed in the preceding section.
• A directory may be global to the entire DDBS or local to each site; it can be centralized at one site or
distributed over several sites; there can be a single copy or multiple copies.
DISTRIBUTED QUERY PROCESSING
• Query processing deals with designing algorithms that analyze queries and convert them into a series of data
manipulation operations. The problem is how to decide on a strategy for executing each query over the network in
the most cost-effective way, however cost is defined.
• The factors to be considered are the distribution of data, communication cost, and lack of sufficient locally-available
information. The objective is to optimize where the inherent parallelism is used to improve the performance of
executing the transaction, subject to the abovementioned constraints.
DISTRIBUTED CONCURRENCY CONTROL
• Concurrency control involves the synchronization of access to the distributed database, such that the integrity of the
database is maintained. It is, without any doubt, one of the most extensively studied problems in the DDBS field.
• • The concurrency control problem in a distributed context is somewhat different that in a centralized framework. One not
only has to worry about the integrity of a single database, but also about the consistency of multiple copies of the database.
The condition that requires all values of multiple copies of every data item to converge to the same value is called mutual
consistency.
• Let us only mention that the two general classes are pessimistic, synchronizing the execution of the user request before the
execution starts, and optimistic, executing requests and then checking if the execution has compromised the consistency of
the database.
• Two fundamental primitives that can be used with both approaches are locking, which is based on the mutual exclusion of
access to data items, and time-stamping, where transactions executions are ordered based on timestamps.
• There are variations of these schemes as well as hybrid algorithms that attempt to combine the two basic mechanisms.
DISTRIBUTED DEADLOCK MANAGEMENT
• The competition among users for access to a set of resources (data, in this case) can
result in a deadlock if the synchronization mechanism is based on locking. The
well-known alternatives of prevention, avoidance, and detection/recovery also apply
to DDBSs
RELIABILITY OF DISTRIBUTED DBMS
• It is important that mechanisms be provided to ensure the consistency of the database as well as to detect
failures and recover from them. The implication for DDBSs is that when a failure occurs and various sites
become either inoperable or inaccessible, the databases at the operational sites remain consistent and up to
date.
• Furthermore, when the computer system or network recovers from the failure, the DDBSs should be able
to recover and bring the databases at the failed sites up-to date. This may be especially difficult in the case
of network partitioning, where the sites are divided into two or more groups with no communication
among them.
REPLICATION
• These protocols can be eager in that they force the updates to be applied to all the
replicas before the transactions completes, or they may be lazy so that the transactions
updates one copy (called the master) from which updates are propagated to the others
after the transaction completes
TYPES OF DISTRIBUTED DATABASES
Distributed databases can be broadly classified into homogeneous and heterogeneous distributed database
environments, each with further sub-divisions, as shown in the following illustration.
HOMOGENEOUS DISTRIBUTED DATABASES
• In a homogeneous distributed database, all the sites use identical DBMS and operating
systems.
● The sites use identical DBMS or DBMS from the same vendor.
● Each site is aware of all other sites and cooperates with other sites to process user
requests.
• In a heterogeneous distributed database, different sites have different operating systems, DBMS products
and data models. Its properties are −
• The system may be composed of a variety of DBMSs like relational, network, hierarchical or object
oriented.
• A site may not be aware of other sites and so there is limited co-operation in processing user requests.
HETEROGENEOUS DISTRIBUTED DATABASES
• Distribution − It states the physical distribution of data across the different sites.
• Autonomy − It indicates the distribution of control of the database system and the
degree to which each constituent DBMS can operate independently.
• Architectural Models
• This is a two-level architecture where the functionality is divided into servers and
clients. The server functions primarily encompass data management, query processing,
optimization and transaction management. Client functions include mainly user
interface. However, they have some functions like consistency checking and transaction
management.
• In these systems, each peer acts both as a client and a server for imparting database services. The peers
share their resource with other peers and co-ordinate their activities.
● Multi-database View Level − Depicts multiple user views comprising of subsets of the integrated distributed
database.
● Multi-database Conceptual Level − Depicts integrated multi-database that comprises of global logical multi-database
structure definitions.
● Multi-database Internal Level − Depicts the data distribution across different sites and multi-database to local data
mapping.
● Local database Conceptual Level − Depicts local data organization at each site.
DISTRIBUTED DATABASE ARCHITECTURES: MULTI -
DBMS ARCHITECTURE
• ● Local database Internal Level − Depicts physical data organization at each site.
• 2. State the difference between distributed database and centralized database. (5M)