Distributed Database Management Systems
Distributed Database Management Systems
Syst e m s
This is an advanced course of the previous that you must have previously studied and that
is the “Database Management Systems”. This course enhances the concepts learnt earlier,
moreover, the applications where you will be applying the concepts and the techniques
learnt in this course are also more advanced and complex by nature. The Distributed
Database Management Systems (DDBMS) uses the concepts of:
The key is to identify the environments in which we have to use the distributed databases.
You may realize that using distributed databases in some situations may not prove to be
fruitful. The implementation may develop drawbacks or may become in-efficient.
As a computer or database expert, you will always be having the basic assignment that
you are given a system for which you have to design/develop a solution or a database
system. You will have several options available and interesting thing is that every one of
them would work. Now the challenge lies in selecting the most feasible solution. For this,
the merits and demerits of every approach have to be analyzed. If this evaluation is not
properly done in the beginning then it is very difficult to apply adjustments in the later
stages. To be more precise, Distributed Database System (DDBS) will be one of many
options available to you for any system that you will be asked to develop. It is your job to
analyze whether the environment needs a DDBS solution or any other one. A wrong
decision in this regard may introduce inefficiency rather than any advantage.
Note:
Lack of experience or/and homework may lead to the selection of a wrong option
Outline of Course
There are going to be four major component in this course:
•
•
Introductory Stuff
•
Architectures and Design Issues
•
Technological Treatment
Related Topics
Introduction:
This part will cover the introduction to the basic concepts of databases and networks.
Then we will also realize the nature of application that need a DDBS, so that we are
convinced that this is the environment and it requires a DDBS and then we think and plan
the later issues of the implementation.
Architecture and Design:
There are different architectures available for designing distributed systems and we have
to identify the right one as different architectures are suitable for different environments.
Moreover, there are different approaches to implement the DDBS designs, we will study
those approaches since each suits different environment.
Note:
Selection of wrong architecture in an environment results in an in-efficient system
Technological Treatment:
Theoretical Aspects:
We will discuss the theoretical aspects related to the DDBS. The study of these issues
will help you administering a DDBS on one side and on the other side it will help you in
the further studies/research in the DDBS. The database management systems available
today do most of the administration automatically but it is important for the database
designer to know the background procedures so that the overall efficiency of the
distributed database management systems may be enhanced.
Recommended Books:
The book mentioned at No. 1 is the main book for this course. It is a famous and one of
the rare books written on the topic. Course is mainly based on this book. So you will
holding this piece very frequent in coming days, make it a bedside item.
You are already familiar with the marks split, that consists of mid-term exam,
assignments and a final exam. Good luck with your course and now lets start reading.
History:
This part is from the first course of Databases. Computer applications are divided into
two types:
For example in the above example we can see three systems i.e. Examination, Library
and the Registration system. Each of them is having its own data for processing, however
there might be some information which is common to all the three systems but still being
stored separately. This results in:
1) Data Redundancy
2) Expensive Changes/Modifications due to redundancy of the data
Database Approach:
To remove the defects from the file processing systems the database was approach was
used which eliminated the interdependency of the program and the data. The
changes/modifications can be brought about easily whether they were related to the
programs or the data itself.
Distributed Computing:
We can elaborate the concept of the Distributed Computing with the following example:
A Computer has different components for example RAM, Hard disk, Processor etc
working together to perform a single task. So is this the example of Distributed
Computing? The answer is No. This is because according to the definition there are
“different computing systems” involved therefore we cannot say that the distributed
activities involved in a single computer is an example of distributed computing.
The second thing is that what is being distributed? A few examples are given below:
All these things can be divided to make our system run efficiently.
1) Degree of Coupling:
Here we have to see that how closely the systems are connected. We can measure
this closeness in terms of messages exchanged between two systems and the
duration for which they work independently.
Note:
If two systems are connected through a network the coupling may be weak however if
they are sharing some hardware the coupling is strong.
2) Interconnection Structure:
We have to see how the two systems are connected to each other. The connection
can be point-to-point or sharing a common channel etc.
3) Interdependence:
Note:
Multiple options are available for designing distributed systems.