Introduction to DBMS Architecture
The database is a collection of related data. The data can be a collection of facts and figures that can be processed to derive more information. A database management system stores data and retrieves it whenever required. User can also manipulate and produce more information from the present data. A database has characteristics like real-world entity, relation-based tables, isolation of data and application, less redundancy of data and consistency. DBMS also provides a query language which makes it more efficient and which follows the ACID properties. DBMS can be used by multiple users concurrently. In this topic, we are going to learn about DBMS Architecture.
Types of DBMS Architecture
A database system can be centralized or decentralized. This depends upon the architecture of the database. Database architecture is logically of two types:
- 2- tier DBMS architecture
- 3-tier DBMS architecture
A database can also have a single-tier architecture.
When a single-tier architecture is used the database is available directly to the user. The user can directly access the database and use the data. Any changes that are done here will be reflected directly in the database. It does not provide a handy tool that can be used by end-users. The 1 tier architecture is mainly used for the development of local applications and they can be used directly to communicate with the database and get quick response.
The 2-tier DBMS architecture is similar to a client-server architecture. In two-tier architectures, there are applications on the client-side and they can easily communicate with the database which would be present at the server-side. In order to make this interaction successful user can use APIs like ODBC and JDBC. All the applications and user interfaces that need data for their processing place on the client-side. The server takes up the responsibility of providing functionalities like query processing and transaction management. To connect both these and have a connection with DBMS the client-side application can establish it with the server-side.
ODBC is an abbreviation for Open Database Connectivity which helps in providing an API that allows client-side applications to connect to DBMS and then work further. The most common vendors are ODBC drivers. This kind of architecture provides DBMS extra security and authentication checks for the applications as well. This architecture is used where they need to access DBMS by means of any application. The applications are independent of the database in terms of operation, design, and programming. The presentation layer can be a PC, mobile, tablet, etc. An example of two-tier architecture can be a Contact Management System by making use of MS Access.
The distinguishing factor between tier 1, tier 2 and tier 3 is that former two have complexity and it is represented upon how they use the data which is present in the database. Tier 3 architecture is widely used and helps in designing a database effectively. It ideally has three parts:
- Database or Data-tier: The database which is present works in collaboration with query processing language. The relations can be defined along with the data and also the constraints can be defined at this level.
- Application or Middle tier: The application tier acts as an abstract view of the database. When this layer is used we can have the application server and the program together so that the database can be accessed. Whenever the end-user accesses the database he is unaware of any existence of database being present. Similarly, the database is unaffected by the user who is accessing it. The application layer mainly focuses on being the middleware or gateway and acts as a mediator between the user and the database.
- User or Presentation tier: The end-user interacts with the database by using this layer. All the different tables or views can be used, and they can provide all the data required by an application. This kind of multi-tiered database can be modified without any bottlenecks. The reason for this ease is that the components are independent and the changes which are made to these are also made independently. The end-users will as it is not aware of anything that is happening at the backend. Both entities perform their individual tasks while the application layer manages them.
It can also be said as an extension of 2 tier architecture. The middle layer of the application between the database and user layers is the one that understands the database access language and helps in processing end user’s requests to the DBMS. There is also an additional layer sometimes which can be added, and which provides a graphical user interface for the end-user so that they can interact with the end-user. The GUI layer acts as a database system for the end-user. The end-user has no idea about the application layer or about the DBMS system. The application layer (business logic layer) also processes functional logic, constraint, and rules before passing data to the user or down to the DBMS
The goal of three-tier architecture is to:
- Support multiple views of data
- Help in programming data independence
- Propose to support DBMS architecture
- It separates the user applications from the physical database
DBMS is where data can be stored and used as and when required. The data can be utilized, created and modified as per user needs. A database management architecture helps in designing, developing, implementing and maintaining the database. There are basically two ideal architectures and one additional one. The single-tier architecture has the client, server and database where all of these reside on the same machine. A two-tier architecture is a database architecture where there is a presentation layer that is run on the client machine and the data is stored on the server machine. The third and last is the three-tier architecture which consists of a presentation layer that can have a PC, tablet, mobile, etc., application layer and database server. The application layer is used to interact with the other two layers. As a result, these data can be maintained properly and it remains secure as well.
This has been a guide to DBMS Architecture. Here we have discussed the types of DBMS Architecture with the goal of a three-tier architecture. You can also go through our other suggested articles to learn more –