Types of Distributed Data Base System_49724
Types of Distributed Data Base System_49724
BASE SYSTEM
What is DDBMS?
A distributed database is basically a database that
is not limited to one system, it is spread over
different sites, i.e, on multiple computers or over a
network of computers.
A distributed database system is located on
various sited that don’t share physical
components. This maybe required when a
particular database needs to be accessed by
various users globally.
It needs to be managed such that for the users it
looks like one single database.
Types:
1. Homogeneous Database:
In a homogeneous database, all different
sites store database identically. The
operating system, database
management system and the data
structures used – all are same at all
sites. Hence, they’re easy to manage.
2. Heterogeneous Database:
In a heterogeneous distributed database, different
sites can use different schema and software that
can lead to problems in query processing and
transactions.
Also, a particular site might be completely
unaware of the other sites. Different computers
may use a different operating system, different
database application.
They may even use different data models for the
database. Hence, translations are required for
different sites to communicate.
Distributed Data Storage
There are 2 ways in which data can be stored on
different sites. These are:
1. Replication
In this approach, the entire relation is stored
redundantly at 2 or more sites. If the entire database is
available at all sites, it is a fully redundant database.
Hence, in replication, systems maintain copies of data.
This is advantageous as it increases the availability of
data at different sites.
Also, now query requests can be processed in parallel.
However, it has certain disadvantages as well. Data
needs to be constantly updated.
Any change made at one site needs to
be recorded at every site that relation is
stored or else it may lead to
inconsistency. This is a lot of overhead.
Also, concurrency control becomes way
more complex as concurrent access now
needs to be checked over a number of
sites.
2. Fragmentation
In this approach, the relations are
fragmented (i.e., they’re divided into
smaller parts) and each of the fragments
is stored in different sites where they’re
required. It must be made sure that the
fragments are such that they can be
used to reconstruct the original relation
(i.e, there isn’t any loss of data).
Fragmentation is advantageous as it
doesn’t create copies of data,
consistency is not a problem.
Fragmentation of relations can be done
in two ways:
Horizontal fragmentation – Splitting by
rows – The relation is fragmented into
groups of tuples so that each tuple is
assigned to at least one fragment.
Vertical fragmentation – Splitting by
columns – The schema of the relation is
divided into smaller schemas. Each
fragment must contain a common
candidate key so as to ensure lossless
join.
In certain cases, an approach that is
hybrid of fragmentation and replication
is used.
Types of Distributed Databases