DATABASE
ARCHITECTURE
UNIT -1
DB Architecture
Database architecture defines the design, structure,
and organization of a database system to efficiently
store, manage, and retrieve data.
It consists of several components and can be
classified into different models based on system
design.
1. Single – tier Architecture
2. Two – tier Architecture
3. Three – tier Architecture
1- Tier architecture / single tier
architecture
In 1-Tier Architecture the database is directly available to the user, the user can directly
sit on the DBMS and use it that is, the client, server, and Database are all present on
the same machine. This setup is simple and is often used in personal or standalone
applications where the user interacts directly with the database.
Example – Microsoft Access – A desktop database system used for small
applications. Suitable for small business organizations
Advantages:
✔ Simple and easy to manage.
✔ Fast data access since everything is local.
✔ No network latency.
Disadvantages:
✖ Not scalable for large applications.
✖ Data is not shared across multiple users.
✖ Less secure, as all data is on a single system.
2- tier /client- server architecture
The 2-tier architecture is similar to a basic client-server model . The
application at the client end directly communicates with the database on
the server side.
APIs like ODBC and JDBC are used for this interaction.
The server side is responsible for providing query processing and
transaction management functionalities.
On the client side, the user interfaces and application programs are run.
The application on the client side establishes a connection with the server
side to communicate with the DBMS.
Example:
• MySQL with Java or .NET applications in small business applications.
• Oracle DB for a company’s internal HR system.
2 tier architecture
Adv & Disadvantages
Advantages:
Easy to Access: 2-Tier Architecture makes easy access to the database, which makes fast
retrieval.
Scalable: We can scale the database easily, by adding clients or upgrading hardware.
Low Cost: 2-Tier Architecture is cheaper than 3-Tier Architecture and Multi-Tier Architecture .
Easy Deployment: 2-Tier Architecture is easier to deploy than 3-Tier Architecture.
Simple: 2-Tier Architecture is easily understandable as well as simple because of only two
components.
Disadvantages:
✖ Performance decreases with a high number of clients.
✖ Security risks due to direct database access.
✖ Maintenance cost of application is expensive
3 tier Architecture
In 3-Tier Architecture ,it Introduces an application layer between the client and
database for better processing and security. there is another layer between the
client and the server.
The client does not directly communicate with the server. Instead, it interacts with
an application server which further communicates with the database system and
then the query processing and transaction management takes place.
This intermediate layer acts as a medium for the exchange of partially processed
data between the server and the client. This type of architecture is used in the
case of large web applications.
3 tier Architecture
Advantages
Enhanced scalability: Scalability is enhanced due to the distributed
deployment of application servers. Now, individual connections need not be
made between the client and server.
Data Integrity: 3-Tier Architecture maintains Data Integrity. Since there is a
middle layer between the client and the server, data corruption can be
avoided/removed.
Security: 3-Tier Architecture Improves Security. This type of model prevents
direct interaction of the client with the server thereby reducing access to
unauthorized data.
Disadvantages
More Complex: 3-Tier Architecture is more complex in comparison to 2-Tier
Architecture. Communication Points are also doubled in 3-Tier Architecture.
Difficult to Interact: It becomes difficult for this sort of interaction to take place
due to the presence of middle layers.
Data abstraction levels
In a Database Management System (DBMS), data abstraction refers
to hiding the complex internal details of how data is stored and
managed while providing a simplified interface to users.
three-level architecture defines three levels of data abstraction to
ensure data independence and efficient data access.
1. Physical or internal level
2. logical or conceptual level
3. view or external level
1. Physical level / internal level
Physical or Internal Level
It is the lowest level of data abstraction which defines how data is stored
in database . It defines data structures used to store data and methods to
access data in database. It is very complex to understand and hence kept
hidden from user.
Database administrator decides how and where to store the data in
database.
Physical level deals with actual storage details like data organization, disk
space allocation and data access methods.
2. logical or conceptual level
Logical or Conceptual Level
It is intermediate level present next to physical level. It defines what
data is present in database and their relationships between them .
It is less complex as compared to physical level. Programmers
generally work at this level and depending on data, structure of tables,
relationships and their constraints is decided at this level.
3. view or external level
3.
View or External Level
It is the highest level in abstraction. There are different levels of
views and each view defines only a part of whole data required to
user.
This level defines many views of same database for sim0lication of
view to user. This is the highest level and easiest to understand
for user.