DBMS Architecture 1-level, 2-Level, 3-Level
A Database store a lots of critical information to access data quickly and securely. Hence it is important to select a correct Architecture for efficient data management.
Types of DBMS Architecture:
- 1- Tier Architecture
- 2- Tier Architecture
- 3- Tier Architecture
1- Tier Architecture:
In One- Tier Architecture the database is directly available to the user, the user can directly sit on the DBMS and use it i.e.; the client, server and the Database all present on the same machine. For Example- To learn SQL we setup SQL server and the database on the local system. This enable us to directly interact with the relational database and execute operation. Industry won’t use this architecture they logically go for 2-Tier and 3-Tier Architecture.
Two-tier architecture:
The two-tier architecture is similar to a basic client-server model. The application at the client end directly communicates with the database at the server-side. APIs like ODBC, JDBC are used for this interaction. The server side is responsible for providing query processing and transaction management functionalities. On the client-side, the user interfaces and application programs are run. The application on the client-side establishes a connection with the server-side in order to communicate with the DBMS.
An advantage of this type is that maintenance and understanding are easier, compatible with existing systems. However, this model gives poor performance when there are a large number of users.
Three Tier architecture:
In this type, there is another layer between the client and the server. The client does not directly communicate with the server. Instead, it interacts with an application server which further communicates with the database system and then the query processing and transaction management takes place. This intermediate layer acts as a medium for the exchange of partially processed data between server and client. This type of architecture is used in the case of large web applications.
Advantages:
- Enhanced scalability due to distributed deployment of application servers. Now, individual connections need not be made between client and server.
- Data Integrity is maintained. Since there is a middle layer between client and server, data corruption can be avoided/removed.
- Security is improved. This type of model prevents direct interaction of the client with the server thereby reducing access to unauthorized data.
Disadvantages:
Increased complexity of implementation and communication. It becomes difficult for this sort of interaction to take place due to the presence of middle layers.
Three-TierArchitecture