Distributed Database Systems is an important
- 格式:pdf
- 大小:117.20 KB
- 文档页数:6
Fragment Allocation in Distributed Database
Systems
Reza Basseda
Faculty of Electrical and Computer Eng., School of Engineering, University of Tehran
Database Research Group
R.Basseda@ece.ut.ac.ir
Abstract
Choosing appropriate fragment allocation in
Distributed Database Systems is an important
issue in design of Distributed Database
Management System .Several fragment-
allocation algorithms have been suggested in the
area of DDBMS design. Each algorithm has its
own strengths and shortcomings. Therefore,
providing an appropriate algorithm is too
critical in DDBMS design and may lead to an
increase in Distributed Database Performance.
This article presents an overview of research
works on fragment allocation algorithms in
Database Research Group of University of
Tehran during last year. In order to clarify the
suggested algorithms and improvements in this
area, we conclude discussion with a summary on
our evaluations.
1. Introduction
Developments in database and networking
technologies in the past two decades led to
advances in distributed database systems. A
DDS is a collection of sites connected by a
communication network, in which each site is a
database system in its own right, but the sites
have agreed to work together, so that a user at
any site can access data anywhere in the network
exactly as if the data were all stored at the user’s
own site [11]. The primary concern of a DDS is
to design the fragmentation and allocation of the
underlying data. Fragmentation unit can be a file
where allocation issue becomes the file
allocation problem. File allocation problem is
studied extensively in the literature, started by
Chu [12] and continued for non-replicated and
replicated models [13, 14]. Some studies
considered dynamic file allocation [15, 16].
Various approaches have already been described
the data allocation technique in distributed
systems [1], [4], [5], [6]. Some methods are limited in their theoretical and implementation
parts [8], [9]. Other strategies are ignoring the
optimization of the transaction response time.
The other approaches present exponential time of
complexity and test their performance on
specific types of network connectivity [2].
Data allocation problem was introduced when
Eswaran [17] first proposed the data
fragmentation. Studies on vertical fragmentation
[18, 19]; horizontal fragmentation [20] and
mixed fragmentation [21] were conducted. The
allocation of the fragments is also studied
extensively.
In these studies, data allocation has been
proposed prior to the design of a database
depending on some static data access patterns
and/or static query patterns. In a static
environment, where the access probabilities of
nodes to the fragments never change, a static
allocation of fragments provides the best
solution. However, in a dynamic environment
where these probabilities change over time, the
static allocation solution would degrade the
database performance. Initial studies on dynamic
data allocation give a framework for data
redistribution and demonstrate how to perform
the redistribution process in a minimum possible
time. In [3] a dynamic data allocation algorithm
for non-replicated database systems is proposed
named optimal algorithm, but no modeling is
done to analyze the algorithm. In [5] the
threshold algorithm is proposed for dynamic data
allocation algorithm, which reallocates data with
respect to changing data access patterns. It
focused on load balancing issues.
A major cost in executing queries in a distributed
database system is the data transfer cost incurred
in transferring relations (fragments) accessed by
a query from different sites to the site where the
query is initiated. The objective of a data
allocation algorithm is to determine the
assignment of fragments at different sites so as to minimize the total data transfer cost incurred in
executing a set of queries. This is equivalent to
minimizing the average query execution time,
which is of primary importance in a wide class of
distributed conventional or multimedia database
systems.
2. Near Neighborhood Allocation
The NNA algorithm is basically a variation of
the optimal algorithm [3]. In optimal algorithm,
all fragments are initially distributed over the
nodes according to any static method but
afterwards, any node j, runs the optimal
algorithm described as follows for every
fragment I, that it stores.
(1) For each (locally) stored fragment, initialize
the access counter rows to zero. (Sij = 0
were i ε fragment indexes and j ε nodes)
(2) Process an access request for the stored
fragment
(3) Increase the corresponding access counter of