This data on the time whenever we need

This document is gives an overview
about the concurrency control in Distributed Database system. In today’s technological
era the need of computer is inevitable. In modern age the advancements in applications
of the field computer science are inevitable because of the needs of our lives.
To ensure the needs fulfilled along with the battle of time computer
applications are like a blessing. The most valuable thing we cannot compromise
on is our “data”.  Whether it is a file
management system, spread sheet or database management system, our goal is to
have our data safe, secure, consistent and correct. All the more objective is
to have our data on the time whenever we need it to be. The modern needs concern
database. Traditionally talking databases are the single centralized record
keeping system, where all the records are placed at a single location. As the
world is a global village, to be practical the businesses are growing as well
as their needs, where a single organization has to have multiple data at
different sites. The sites may be located cross-border or nation-wide but the
data must be saved at a single place. With larger the size of data this
practice brings overhead of size, access time and managing all the data. So the
concept of distributed databases has emerged as a revolution in the field of
computer science, where data at multiple sites is organized as if it were at a
single location. The user can access the data placed anywhere from anywhere
hassle free.

Distributed databases provide the
assumption of the single logical databases where in actuality the data is
scattered on computers physically at different locations, which are connected
via communication links. When talking about distributed databases, concurrency
control is an important issue to be concerned of. Concurrency control refers to
the simultaneous accesses to the database in a multiuser environment
maintaining the database to remain in a consistent state.

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

There are different methods to achieve concurrency
control i.e. Two phase locking (2PL), Optimistic Concurrency Control (OCC), wait
depth limited (WDL), Wound-Wait (WW).

I.      Benefits of distributed dbms

There are various benefits for the use
of DDBMS. First of all costs of communication are reduced to much less amount.
As data is divided or distributed at multiple places so that computations are
reduced to much smaller sizes, which means the site where particular data is
placed will do the computations for that much data only and this is the case
with every other place where the remaining data are distributed.  Computation at a single site will be much smaller
than when compared to the centralized database environment.

Data recovery is simpler in Distributed
environment. If data loss or damage occurs at one or more than one site it
would be convenient to recover the data in this environment than the
traditional one. In the latter, if any damage occurs the whole system must be stopped
just to recover a single failure, where as in the former if at any place
stagnation occurs the whole system wouldn’t have to wait for that one to be
recovered fully. The other component of data can be accessed with ease. Let’s
take an example: if the database used was to be a centralized database the
customers of a bank abroad would have to wait for the failure to resolve,
whereas in the DDBMS if one site is being recovered the other data would be
accessible without any ado. So it enhances the availability of the data.

Data sharing is convenient too where
multiple businesses have to share manifold information with each other. It also
makes multiple transactions being executed at the same time.

II.   ddbms design

Let’s talk about the design of the distributed
database management system so that we more clearly understand the structure. As
we have discussed before that the ddbms appears to be a single logically
related database but it’s not. Its logic unit are distributed among various
sites, so let’s see how?

A.    Fragmentation

We have to define the distribution and
allocation of the logic units to be distributed. These logic units which are
the broken or divided data placed at different places are called fragments.  The process of breaking them is called fragmentation.
There are three types of fragmentation:

1.      
Horizontal fragmentation: In this subset
of rows of a table are fragmented.

The scenario is elaborated through Tables
below.

 

TABLE I
EMP TABLE

EMP
ID

EMP_NAME

DEPT

Salary

1

Asad

HR

65000

2

Khawar

Sales

70000

3

Baber

Insurance

50000

 

We horizontally fragment the table in
two. And the resultant tables are placed at different allocated sites.

 

TABLE 2
EMP TABLE

EMP
ID

EMP_NAME

DEPT

Salary

1

Asad

HR

65000

2

Khawar

Sales

70000

TABLE 3
EMP TABLE

EMP
ID

EMP_NAME

DEPT

Salary

3

Baber

Insurance

50000

 

2.      
Vertical fragmentation: In this  subset of columns of a table fragmented. But
here it is necessary to put primary key of the original table in every fragment
to construct back the original table.

The scenario is elaborated thorugh
Tables below

 

TABLE 4
EMP TABLE

EMP
ID

EMP_NAME

DEPT

Salary

1

Asad

HR

65000

2

Khawar

Sales

70000

3

Baber

Insurance

50000

 

We vertically fragment the table in
two. And the resultant tables are placed at different allocated sites.

 

TABLE 5
EMP TABLE

EMP
ID

EMP_NAME

DEPT

1

Asad

HR

2

Khawar

Sales

3

Baber

Insurance

TABLE 6
EMP TABLE

EMP
ID

EMP_NAME

Salary

1

Asad

65000

2

Khawar

70000

3

Baber

50000

 

3.      
Hybrid fragmentation: It is the combination
of both vertical and horizontal fragmentation. One must have to be careful
while using this scheme to create the original table back by applying joins and
unions in an apt order.

B.    Replication of data

Data replication plays an important
role like any other factor in Distributed database system that is to store a
copy of database on each of the site where the database is distributed. It is
basically the process of deciding whether which of the fragment(s) should be
replicated.

 

All title and author details must be in
single-column format and must be centered.

Every word in a title must be capitalized
except for short minor words such as “a”, “an”, “and”, “as”, “at”, “by”, “for”,
“from”, “if”, “in”, “into”, “on”, “or”, “of”, “the”, “to”, “with”.

Author details must not show any professional
title (e.g. Managing Director), any academic title (e.g. Dr.) or any membership
of any professional organization (e.g. Senior Member IEEE).

To avoid confusion, the family name
must be written as the last part of each author name (e.g. John A.K. Smith).

Each affiliation must include, at the
very least, the name of the company and the name of the country where the
author is based (e.g. Causal Productions Pty Ltd, Australia).

Email address is compulsory for the
corresponding author.

C.    Section Headings

No more than 3 levels of headings
should be used.  All headings must be in
10pt font.  Every word in a heading must
be capitalized except for short minor words as listed in Section III-B.

1)  Level-1 Heading:  A level-1
heading must be in Small Caps, centered and numbered using uppercase Roman
numerals.  For example, see heading “III.
Page Style” of this document.  The two
level-1 headings which must not be numbered are “Acknowledgment” and
“References”.

III. Transaction Management and concurrency control

A transaction is a series operations performed
on database that are performed on a consistent database and leave it in a
consistent state too. It is a logical unit of work. It must either be entirely
completed or aborted. No intermediate states are