Database System Architecture
• Database Management System (DBMS) architecture is crucial for efficient data management and
system performance.
• It involves the database's design, development, and maintenance, determining how users interact
with and access the system.
• The choice of architecture depends on factors such as database size, user count, and inter-user
relationships.
• The DBMS architecture is classified depending upon how many layers are present in the structure of
the DBMS.
• Hence, an n-tier DBMS Architecture divides the whole DBMS into related but n independent layers or
levels, i.e., a one-tier architecture divides the DBMS into a single layer, a two-tier DBMS architecture
divides the DBMS into two layers, a three-tier in three layers, and so on.
1. Single Tier Architecture
• In this architecture, the database is directly available to the user. It means the user can directly sit on
the DBMS and uses it.
• Any changes done here will directly be done on the database itself. It doesn't provide a handy tool for
end users.
• The 1-Tier architecture is used for development of the local application, where programmers can
directly communicate with the database for the quick response.
• Example of single-tier DBMS Architecture-
In order to learn the Structure Query Language (SQL), we set up our SQL server and the database on
our local system. This SQL server enables us to directly interact with the relational database and
, execute certain operations without requiring any network connection. This whole setup to learn SQL
queries is an example of Single-Tier DBMS architecture.
Single Tier DBMS Architecture is used whenever:
• The data isn't changed frequently.
• No multiple users are accessing the database system.
• We need a direct and simple way to modify or access the database for application development.
2. Two Tier Architecture
• The 2-Tier architecture is the same as the basic client-server. In the two-tier architecture, applications
on the client end can directly communicate with the database on the server side. For this interaction,
APIs(Application Programming Interfaces) like ODBC, and JDBC are used.
• The user interfaces and application programs are run on the client side.
• The server side is responsible to provide the functionalities like query processing and transaction
management. To communicate with the DBMS, the client-side application establishes a connection
with the server side.
• Example of Two-Tier DBMS Architecture:
Consider a situation where you went to a bank to withdraw some cash. After entering the withdrawal
amount and the account details on the withdrawal slip, the banker will go through the server-side
database via his credential (API call) and will check whether there is enough balance present or not.
This client-server model is an example of Two-Tier DBMS architecture.
, The main advantages of having a two-tier architecture over a single tier are:
• Multiple users can use it at the same time. Hence, it can be used in an organization.
• It has high processing ability as the database functionality is handled by the server alone.
• Faster access to the database due to the direct connection and improved performance.
• Because of the two independent layers, it's easier to maintain.
3. Three Tier Architecture
• The 3-Tier architecture contains another layer between the client and server. In this architecture, the
client can't directly communicate with the server.
• The application on the client end interacts with an application server which further communicates
with the database system.
• The end-user has no idea about the existence of the database beyond the application server. The
database also has no idea about any other user beyond the application. The 3-Tier architecture is
used in the case of the large web application.
• In Three Tier DBMS Architecture, an additional layer (Application Layer) is added between the Client
and the Server. This increases the number of layers present between the DBMS and the end-users,
making the implementation of the DBMS structure complex and difficult to maintain