Security Trends in Data Centers in 2021
A Database Architecture is a representation of DBMS design. It helps to design, develop, implement, and maintain the database management system [1]. A DBMS architecture allows dividing the database system into individual components that can be independently modified, changed, replaced, and altered. It also helps to understand the components of a database.
A Database stores critical information and helps access data quickly and securely. Therefore, selecting the correct Architecture of DBMS helps in easy and efficient data management shown in given below figure1
Figure 1: Database Architecture using three bases and several types
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 [3], 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
There are mainly three types of DBMS architecture:
- One Tier Architecture (Single Tier Architecture)
- Two Tier Architecture
- Three Tier Architecture
1-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.
2-Tier Architecture
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.
3-Tier Architecture
The distinguishing factor between tier 1, tier 2 and tier 3 is that the 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:[2]
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. [4] 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,[5] 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
References:
- Whats is Database Architecture an its definition? Reterived at may 2020,from https://www.coursera.org/lecture/introduction-to-relational-databases
- Database Architecture in DBMS: 1-Tier, 2-Tier and 3-Tier (guru99.com)
- https://www.tutorialspoint.com/dbms/dbms_architecture.htm
- https://www.educba.com/dbms-architecture
- https://docs.oracle.com/database/121/CNCPT/intro.htm
Cite this article:
D. Vinotha (2021), Database Architecture, pp. 3