Explain Client Server architecture for Distributed DBMS.

Explain Client Server architecture for Distributed DBMS.

  • It is based on the data-base reference model of DBMS. The functionality is divided into two classes : Server and client. 
  • A client is defined as a requester of services and a server is defined as the provider of services. Client/ server computing is a very efficient and safe means of sharing database information in a multi-user environment.
  • This provides two-level architecture which makes it easier to manage the complexity of modem DBMSs and the complexity of distribution .
  • Client : User machine that provides user interface capabilities and local processing. 
  • Server : System containing both hardware and software. It provides services to the client machines such as file access, printing, archiving, or database access.
  • Client functions : Might also include some data management functions not just user interface. 
  • Server  functions : Mainly data management, including query processing, optimization, transaction management, etc. 

Client server architecture for Distributed DBMS

Fig. Client server architecture for Distributed DBMS

  • Shows client server architecture for Distributed DBMS. Client send query to database server and server process on that query. Result of query is passed to the client machine.
  • Client-server architecture may be either two-tier or three-tier
  • In a two-tier architecture, the server performs database functions and the clients perform the user interface functions. Either the server or the clients may perform business functions.
  • In a three-tier architecture, the clients perform the user interface functions, a database server performs the database functions, and separate computers, called application servers, perform the business functions and act as interface between clients and database server.
  • There is various classification of client server system. 

            1. Multiple client - single server 

            2. Multiple client - multiple server 

1. Multiple clients - single server:

Multiple clients - single server

Fig. Multiple clients - single server


2. Multiple client - multiple server :

 

Multiple clients - multiple server

Fig. Multiple clients - multiple server


Advantages of client-server architectures: 

  • Horizontal and vertical scaling of resources.
  • Better price/ performance on client machines.
  • Ability to use familiar tools on client machines. 
  • Client access to remote data. 
  • Full DBMS functionality provided to client workstations. 
  • Overall better system price/ performance. 


Disadvantages of client-server architectures:

  • Maintenance cost is more. 
  • security problem as number of user and processing sites increases. 
  • Complexity increases.