Professional Documents
Culture Documents
The distributed DBMS should have the ability to keep track of the data
distribution, fragmentation and replication by expanding the distributed DBMS catalog.
3. Distributed transaction management:
This is the ability of the system to decide which copy of the replicated data item
to access and to maintain consistency of the copies of a replicated data item.
5. Distributed data recovery:
The distributed DBMS should have the ability to recover from individual site
crashes and failures of communication links.
6. Security:
A catalog or directory contains information about the data inn the database -
metadata. The directory may be global for the entire distributed database or local for
each location.
Q3-What are the advantages of distributed database?
Ans-1.Transparency:
A DDB should be distribution transparent. This means hiding the details of where
each file is physically stored within the system. This is possible through DDBMS. The
following transparencies are achieved:
A. Distribution or network transparency:
This refers to the freedom for the user from the operational details of the
network. Network transparency may be divided into location transparency and
naming transparency. Location transparency refers to the fact that the command
used to perform a task independent of the location of the data and location of the
system where the command was issued. Naming transparency implies that once a
name is specified, the named objects can be accessed unambiguously without
additional specification.
B. SQL and COMMIT transparency:
5. Site autonomy:
Ans - Full scale DDBMSs has not been developed to support all the types of
functionalities. Instead, distributed database applications are being developed in the
context of the client-server architecture. It is now more common to use a 3-tier
architecture, particularly with web applications.
2-Tier model:
1. Client:
The client is the machine running the front-end applications. It interacts with the
user through the keyboard, display and pointing device such as a mouse. The client
also refers to the client process that runs on the client machine. The client has no direct
data access responsibilities. It simply requests processes from the server and displays
data managed by the server. Therefore, the client workstation can be optimized for its
job. e.g it might not need large disk capacity, or it might benefit from graphic capabilities.
2. Server:
The server is the machine that runs the DBMS software and handles the
functions required for concurrent, shared data access. It is often referred to as the
backend. Server also refers to the server process that runs on the server machine. The
server receives and processes SQL and other query statements originating from client
applications. The server can also be optimized for its duties. e.g it can have large disk
capacity and fast processors. It can also take the load of disk I/O, printing, file transfer,
and so on.
3. Network:
The network enables remote data access through client-server and server-to-
server communication.
The clients and servers may all be located in physical proximity-say within the
same building- and connected via a LAN or they may be geographically distributed over
large distances and connected by WAN. LANs typically use cables whereas WANs use
telephone lines or satellites. It is also possible to use a combination of the two types of
networks. Networks will have different topologies. The topology defines the
communication paths among locations. The type of topology of the network used may
have significant effect on performance and hence on the strategies for distributed query
processing and DDB design.
A database server is the DBMS software managing a database and a client is an
application that requests information from a server. Each computer in a network is a
node that can host one or more databases. Each node is a distributed database system
can act as a client, a server or both, depending on the situation. Certain features are
always present in the client-server model. There is a server process that can process
requests from one or more client processes concurrently over a network connection.
The client machine provides front-end application software for accessing the data on the
server. The client initiates transactions; the server processes the transactions. Thee is a
SQL that can be used to access data stored on the server side.
e.g Assume that there are 2 database servers HQ(EMP table) and
BRANCH(SALES table) which are located in two separate locations connected
through a network.
This query is direct because you are not accessing an object on aremote
database. In contrast, an indirect connection occurs when a client connects to a server
and then accesses information contained in a database on a different server. e.g. if you
connect to the HQ database but access the SALES table on the remote BRANCH
database, you have to write:
SELECT * FROM SALES@BRANCH;
This query is indirect because the object you are accessing is not on the
database to which you are directly connected.
3-Tier model:
1. Presentation layer(client): This provides the user interface and interacts with the user.
3. Database server: This layer handles query and update requests from the application
layer, processes the requests and send the results.
It is a common approach to include the functionality of a centralizzed DBMS at
the database server level. A number of relational DBMS products have taken this
approach, where an SQL server is provided. The application server must then formulate
the appropriate SQL queries and connect to the database server when needed. The
client provides the processing for user interface interactions.
In this architecture, the application server may also refer to a data dictionary that
includes information on the distribution of data among the various SQL servers as well
as modules for decomposing a global query into a number of local queries that can be
executed at various sites. Interaction between application server and database server
might proceed as follows during the processing of an SQL query:
1. The application server formulates a user query based on input from the client
layer and decomposes it into a number of independent site queries. Each site query is
sent to the appropriate database server site.
2. Each database server processes the local query and sends the results to the
application server site.
3. The application server combines the results of the subqueries to produce the
result of the originally required query, formats it into HTML or some other form accepted
by the client, and sends it to the client site for display.
If the DDBMS has the capability to hide the details of data distribution from the
application server, then it enables the application server to execute global queries and
transactions as though the database were centralized, without having to specify the
sites at which the data referenced in the query or transaction resides. This property is
called distribution transparency.
UNIT 5
Ans-