DBMS Architecture

Learn via video course
FREE
View all courses
DBMS Course - Master the Fundamentals and Advanced Concepts
DBMS Course - Master the Fundamentals and Advanced Concepts
by Srikanth Varma
1000
5
Start Learning
DBMS Course - Master the Fundamentals and Advanced Concepts
DBMS Course - Master the Fundamentals and Advanced Concepts
by Srikanth Varma
1000
5
Start Learning
Topics Covered

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. This article explores various DBMS architectures, including client/server setups and database models. In client/server architecture, numerous PCs and workstations connect through a network, facilitating a large user base and secure data access. The choice of architecture depends on factors such as database size, user count, and inter-user relationships.

Types of DBMS Architecture

Database management systems are divided into multiple levels of abstraction for proper functioning. These modules/layers describe the functioning and the design of the DBMS.

Since a database management system is not always directly accessible by the user or an application, we can maintain it with the help of various architectures based on how the user is connected to the database. These architectures follow a tier-based classification, i.e., 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. When the layers are increased in the architecture, the level of abstraction also increases, resulting in an increase in the security and the complexity of the DBMS structure. All these layers are independent, i.e., any modification performed in a particular layer does not affect the other layer present in the architecture.

Now, let’s look at the most common DBMS architectures:

  • Single Tier Architecture (One-Tier Architecture)
  • Two-Tier Architecture
  • Three-Tier Architecture

Types of DBMS Architecture

Now, let's explore these three different ways to structure the database management systems.

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.

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.

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.

Example of Single-Tier DBMS Architecture

Highlights:

1- Simplest DBMS architecture.

2- All the components of DBMS, i.e., the server, database, and client, reside on a single system.

3- The user can directly access the database.

4- Used when data isn't changing frequently.

5- Suitable for programmers, database designers, and single-user access.

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 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.

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.

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.

Example of Two-Tier DBMS Architecture

Note - The main disadvantages of Two-Tier DBMS Architecture are:

  • Scalability - As the number of clients increases, the load on the server increases. Thereby declining the performance of the DBMS and, in turn, the client-side application.
  • Security - The Direct connection between the client and server systems makes this architecture vulnerable to attacks.

Highlights:

1- Similar to a client-server architecture.

2- Faster access, Easier to maintain, and can handle multiple users simultaneously.

3-Used when we wish to access DBMS via applications and APIs.

4-Has scalability and security issues because of direct client-server connection.

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.

Three-Tier DBMS Architecture

The main advantages of Three Tier DBMS Architecture are:

  • Scalability - Since the database server isn't aware of any users beyond the application layer and the application layer implements load balancing, there can be as many clients as you want.
  • Data Integrity - Data corruption and bad requests can be avoided because of the checks performed in the application layer on each client reques.
  • Security - The removal of the direct connection between the client and server systems via abstraction reduces unauthorized access to the database.

Note - 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.

Highlights:

1- Most widely used DBMS architecture.

2- Follows Client-Application-Server architecture.

3- Enhanced security, data integrity, and scalability.

4-Has complexity and maintenance issues because of the extra layer.

Conclusion

  • DBMS architecture describes the structure and how the users are connected to a specific database system.
  • Architecture affects the performance of the database.
  • In the single-tier architecture, all the components of the DBMS reside on a single server. It is the most straightforward approach.
  • In the two-tier architecture, the client-server approach is implemented.
  • The three-tier DBMS architecture is an extension of the two-tier architecture where an intermediate layer, i.e., the Application layer is added between the client and the server. It is the most widely used architecture.

Read More: