In this tutorial, we will learn about DBMS architecture.
Users and programs may not always be able to directly access and store data in a Database Management system. Depending on its architecture, a Database Management system can be centralized (all data is stored in one area), decentralized (many copies of the database are maintained in separate locations), or hierarchical (all data is stored in one location).
1-tier DBMS Architecture
When a database is immediately accessible to a user for the purpose of storing data, it becomes a 1-tier DBMS architecture. This type of arrangement is generally useful for local application development, where programmers connect directly with the database for quick response.
2-tier DBMS Architecture
A basic client-server model is akin to a two-tier design. The client-side application interacts directly with the server-side database. For this interaction, APIs like ODBC and JDBC are there. Both query processing and transaction management are handled on the server side. The execution of user interfaces and application programs takes place on the client side. To communicate with the database management system, the client-side application establishes a connection with the server-side.
Advantages :
This kind has the advantage of being easier to maintain and comprehend, as well as being interoperable with existing systems. When there are a big number of users, however, this model performs poorly.
3-tier DBMS Architecture
Between the client and the server is another layer in this type. The client does not communicate with the server directly. Rather, it communicates with an application server, which then communicates with the database system, where query processing and transaction management occur. This intermediary layer serves as a conduit between the server and the client for the exchange of partially processed data. In the case of huge web applications, this design is useful.
Advantages :
Due to the dispersed deployment of application servers, scalability improves. There is no longer a need for separate connections between the client and the server. There is no compromise with the data’s integrity. Because there is an intermediate layer between the client and the server, data corruption is also absent. There is an increase in the security level, too. This architecture stops the client from interacting directly with the server, limiting access to unauthorized data.