Introduction to DBMS Architecture
Introduction to DBMS Architecture
https://coddy.tech/
o The DBMS design depends upon its architecture. The basic client/server
architecture is used to deal with a large number of PCs, web servers,
database servers and other components that are connected with networks.
o The client/server architecture consists of many PCs and a workstation which
are connected via the network.
o DBMS architecture depends upon how users are connected to the database
to get their request done.
Types of DBMS Architecture
Database architecture can be seen as a single tier or multi-tier. But logically,
database architecture is of two types like: 2-tier architecture and 3-tier
architecture.
1-Tier Architecture
o In this architecture, the database is directly available to the user. It means
the user can directly sit on the DBMS and uses it.
o Any changes done here will directly be done on the database itself. It
doesn't provide a handy tool for end users.
o The 1-Tier architecture is used for development of the local application,
where programmers can directly communicate with the database for the
quick response.
2-Tier Architecture
o The 2-Tier architecture is same as basic client-server. In the two-tier
architecture, applications on the client end can directly communicate with
the database at the server side. For this interaction, API's
like: ODBC, JDBC are used.
o The user interfaces and application programs are run on the client-side.
o The server side is responsible to provide the functionalities like: query
processing and transaction management.
o To communicate with the DBMS, client-side application establishes a
connection with the server side.
Fig: 2-tier Architecture
3-Tier Architecture
o The 3-Tier architecture contains another layer between the client and
server. In this architecture, client can't directly communicate with the
server.
o The application on the client-end interacts with an application server which
further communicates with the database system.
o 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.
o The 3-Tier architecture is used in case of large web application.
Fig: 3-tier Architecture
N-Tier Architecture
Extends the three-tier model to include additional layers for specific
services such as reporting, analytics, or caching.
Designed for enterprise-level systems with high complexity and scalability.
Components of DBMS Architecture
A Database Management System (DBMS) architecture comprises various
components that work together to manage, store, retrieve, and manipulate data
efficiently. Here's a detailed explanation of the listed components:
1. Database Engine:
o Functionality:
Executes database queries (e.g., SELECT, INSERT, UPDATE,
DELETE).
Performs CRUD (Create, Read, Update, Delete) operations
directly on the data stored in the database.
Ensures data integrity, which means maintaining the accuracy
and consistency of data over its entire lifecycle.
o Key Features:
Executes queries efficiently using indexing, caching, and
optimization techniques.
Manages physical storage and retrieval of data from the
database.
2. Data Dictionary:
o Functionality:
Acts as a metadata repository that stores information about
the database's structure.
Contains details such as table schemas, data types, constraints,
relationships, and user permissions.
o Key Features:
Supports query planning by providing details about database
objects.
Helps maintain consistency by ensuring operations comply with
schema definitions.
Often referred to as the "system catalog."
3. Query Processor:
o Functionality:
Analyzes and interprets SQL queries submitted by users or
applications.
Optimizes queries to improve performance by determining the
most efficient way to execute them (e.g., choosing optimal join
methods or access paths).
Converts high-level SQL statements into low-level instructions
that the database engine can execute.
o Key Features:
Includes components like the query parser (syntax and
semantic analysis) and query optimizer.
Enhances performance and reduces resource consumption.
4. Storage Manager:
o Functionality:
Responsible for managing physical storage of data on disks or
other storage devices.
Provides mechanisms for data access (e.g., file organization,
page management, and buffer management).
Handles space allocation, ensuring data is stored efficiently.
o Key Features:
Supports data structures like indexes and B-trees for faster
retrieval.
Manages database backups and recovery from crashes.
5. Transaction Manager:
o Functionality:
Ensures the database adheres to the ACID properties
(Atomicity, Consistency, Isolation, Durability) during
transactions.
Manages concurrent transactions to avoid conflicts and
maintain data consistency.
o Key Features:
Atomicity: Ensures transactions are all-or-nothing operations.
Consistency: Ensures the database remains in a valid state
before and after transactions.
Isolation: Ensures that concurrent transactions do not interfere
with each other.
Durability: Ensures that once a transaction is committed,
changes persist even in the event of a system crash.
Interactions Between Components
The query processor converts user queries into actionable plans, which the
database engine executes.
The data dictionary provides metadata that the query processor and engine
use for query execution and enforcement of constraints.
The storage manager ensures data is stored and retrieved efficiently, while
the transaction manager oversees concurrent access and ensures the
integrity of operations.
Together, these components form a robust system for managing databases
efficiently, ensuring performance, reliability, and data integrity.
2. Exploring Database Environments
Database environments refer to the configuration of hardware, software, data,
and users that enable database creation, management, and use.
Types of Database Environments
1. Standalone Environment
o The database is installed and operated on a single system.
o Primarily used for development, testing, or small-scale applications.
2. Client-Server Environment
o Separates the database server and client application.
o Clients request services from the central database server.
o Example: An online banking system where client applications access
the central database.
3. Distributed Database Environment
o Data is stored across multiple locations but appears as a single
database to users.
o Facilitates data sharing and redundancy across geographical
locations.
4. Cloud Database Environment
o Databases are hosted on cloud platforms (e.g., AWS, Azure, Google
Cloud).
o Benefits include scalability, cost-efficiency, and ease of access.
5. NoSQL Database Environment
o Designed for handling unstructured or semi-structured data.
o Common in real-time applications such as IoT, social media, and big
data systems.
Key Components in a Database Environment
Hardware: Servers, storage devices, and network infrastructure.
Software: DBMS software and tools for database development and
administration.
Data: The actual information stored in the database.
Users: Individuals or applications interacting with the database.
3. Database Applications
Database applications refer to software solutions designed to interact with a
database to manage, retrieve, or analyze data.
Common Database Applications
1. Enterprise Resource Planning (ERP)
o Integrates business processes such as accounting, HR, and supply
chain management.
o Example: SAP, Oracle ERP.
2. Customer Relationship Management (CRM)
o Manages customer interactions and data to improve relationships
and sales.
o Example: Salesforce, Zoho CRM.
3. E-Commerce Systems
o Support online shopping, inventory management, and order
processing.
o Example: Amazon’s database-driven platform.
4. Healthcare Systems
o Store patient records, manage appointments, and facilitate
diagnostics.
o Example: Electronic Medical Records (EMR) systems.
5. Data Warehousing and Business Intelligence
o Facilitate large-scale data analysis and reporting for decision-making.
o Example: Snowflake, Microsoft Power BI.
6. Social Media Platforms
o Store and manage user-generated content, interactions, and
analytics.
o Example: Facebook’s distributed database systems.
7. IoT Applications
o Collect and process data from interconnected devices.
o Example: Smart home systems leveraging cloud databases.
Characteristics of Database Applications
Data Integrity: Ensures accuracy and consistency.
Scalability: Ability to handle growing datasets.
Security: Protects data from unauthorized access.
Automation: Facilitates automated processes such as data backups.