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.
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:
Fig. Multiple clients - single server
2. Multiple client - 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.
Follow Us