0% found this document useful (0 votes)
23 views

Distributed Database Management Systems

This document provides an overview of the Distributed Database Management Systems course. The course will cover introductory concepts of databases and networks, different architectures for distributed database design, technological implementations using software like SQL Server and Oracle, and theoretical aspects of distributed database administration. The goal is to help students analyze different options and select the most efficient distributed database solution for a given environment. The main course text is listed as "Distributed Database Systems" and students will be evaluated through exams, assignments, and a final exam.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Distributed Database Management Systems

This document provides an overview of the Distributed Database Management Systems course. The course will cover introductory concepts of databases and networks, different architectures for distributed database design, technological implementations using software like SQL Server and Oracle, and theoretical aspects of distributed database administration. The goal is to help students analyze different options and select the most efficient distributed database solution for a given environment. The main course text is listed as "Distributed Database Systems" and students will be evaluated through exams, assignments, and a final exam.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Dist ribut e d Da t a ba se M a na ge m e nt

Syst e m s

Course Title: Distributed Database Management Systems


Course Code: CS712
Instructor: Dr. Nayyer Masood
Lecture No. 1
Introduction:

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:

1) Database Management Systems


2) Networking

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:

Different design approaches of DDBS will be implemented using the prevailing


DDBMSs, like SQL Server and Oracle. That will give you the idea of how a real DDBS
will look like.

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:

1- Distributed Database Systems (2nd Edition) by T.M., Ozsu, P. Valdusiez


2- Distributed Database Systems. By D. Bell, J. Grimson, Addison-Wesley, 1992
3- Distributed Systems: Concepts and Design, 4th Edition, by G. Coulouris, J.
Dollimore, T. Kindberg, Addison-Wesley

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:

1) Data Processing Applications


2) Scientific / Engineering Applications
Data Processing Applications in computer terminology are referred to as “File Processing
Systems”. In those applications the data was processed with the help of different
programming languages. The program, which was used to process the data, had the data
defined in it, therefore they were dependant on each other. If we had to make any change
in the program it was difficult, as we had to take care of the dependant data as well and
vice versa. You are already familiar with the following diagram

Library Examination Registration

Library Examination Registration


Applications Applications Applications

Library Examination Registratio


Data Data n
Files Files Data
Files

Program and Data Interdependence

Typical File Processing Environment

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.

Database is a shared collection of logically related data

Distributed Computing Systems:

Distributed Computing System can be defined as “A system consisting of a number of


autonomous processing elements that are connected through a computer network and
that cooperate in performing their assigned task”.

Three things are important here:


1) Multiple systems are involved.
2) These multiple systems are linked together through some network
3) These multiple systems perform common tasks in which they cooperate with each
other.

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:

1) Processing Logic can be distributed


2) We can divide our goal/task into different functions and get them distributed
among various systems
3) Data
4) Control

All these things can be divided to make our system run efficiently.

Classification of Distributed Computing Systems:


Following factors are to be addressed:

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:

The interdependency doesn’t base totally on the architecture, it is also based on


the task and how it is distributed.

4) Not Totally Independent:

Why Distributed Computing Systems:

Some organization structures are suitable for Distributed Computing


1) Organization is expanded on a large geographic area.
2) Organization has different functioning units located in different areas
Technological Push:
1) Hardware has become cheap.
2) Internet i.e. communication connectivity is easily available and cheap.

Distributed Computing Alerts:

1) Poor management leads to in-efficiency.


2) We create information islands and due to lack of standards the system gets in-
efficient
3) Improper Designing e.g. we have to travel by air to some destination. We go to
the an airline’s booking office and get our booking done to some destination. The
overall process takes a considerable delay. Our booking is done but with a delay
this might occur as a result of improper design.

Note:
Multiple options are available for designing distributed systems.

You might also like