Database Management
Database Management
Database Management
Storage engine - As the core component of a DBMS, this stores the data. It’s the part of the
system that communicates with the file system at the OS level. It’s the gateway for all the
SQL queries that interact with the stored data.
System catalog or database dictionary - Also called the metadata catalog, this component is
a centralized repository for all created database objects. It is used to confirm data requests
from users and also to provide information about a database’s objects, security,
performance, and more.
Database access language - every DBMS needs an application programming interface (API)
to enable users to create databases and access data, and it usually comes in the form of a
database access language. For instance, structured query language (SQL) is the default data
access language in relational databases.
Optimization engine - This component processes data requests and transforms them into
actionable commands. It also helps tune databases for optimal performance.
Query processor - Once a query (data request) has gone through the optimization engine,
the query processor handles the request and feeds back the results. It acts as a sort of
middleman between the database and user queries.
Lock manager - This component keeps multiple users from modifying the same data at the
same time. It locks access for each user in turn.
Log manager - All DBMSes keep records of how and when data in the database is modified,
created, or deleted. The log manager records this information and can also integrate with
database utilities to recover data or make backups. It manages the logs by organizing them
and keeping them easily accessible.
Data utilities - This category is an umbrella term for a variety of components that simplify
database management and monitor activity. They can include software for data backup and
restore, integrity checks, reporting and monitoring, simple repair, validations, and so on.
Specifically, the benefits of a database management system are hard to ignore, especially as the
amount of data people and machines create every day increases. One of the more notable benefits
is improving the security of the data stored in a database. With DBMS, businesses can increase their
access to data and help end users throughout the organizations share the data. As a result, these
end users can deliver faster sales and make quicker decisions as they have access to the exact data
they need.
Furthermore, with a database management system, businesses can eliminate the problems that
occur with data inconsistency, which happens if multiple forms of the same data exist in different
locations. A DBMS provides organizations a complete, clear view into the way data is shared,
ensuring there aren’t unnecessary copies of data. Not to mention, A DBMS allows organizations to
enforce data security and privacy policies to reduce the risk of a data breach.
Finally, end users will be empowered to make informed decisions based on the data available.
Better, more consistent data means high-quality, usable information that can help users make
decisions with the exact data they need. Ultimately, this results in improved productivity throughout
the organization.
Economics and finance firms store information about customer transactions, stock market
trades, bonds, mortgages, and other financial products.
Telecommunications companies store information about customer calls, billing, archives,
and plan features and capabilities.
Airlines store information about flight schedules, employee work histories, safety records,
reservations, and maintenance.
Educational institutions store information about class schedules, student records, teacher
reviews and remuneration, and class registration.
Sales and marketing organizations store information about customer meetings and sales,
returns, feedback, and prospects.
Human resources firms store information about new and prospective hires, payroll, taxes,
employee performance reviews, and more.
Manufacturers store information about inventory, operations, production blueprints, supply
chain, and maintenance.
Streaming media platforms rely on databases to store massive volumes of media that need
to be organized and accessed on demand.
Technology companies use database information to create virtual and augmented reality
applications that require data-intensive AI and machine learning models.
Sports organizations store information about player statistics, team performance, game
scheduling, and historical media that can be analyzed.
All these administrative tasks are facilitated using a single management interface. Most modern
DBMS support handling multiple database workloads from a centralized DBMS software, even in a
distributed database scenario. Furthermore, they allow organizations to have a governable top-
down view of all the data, users, groups, locations, etc., in an organized manner.
In this section, we will look at the common components that are universal across all DBMS software,
including:
Storage engine
Query language
Query processor
Optimization engine
Metadata catalog
Log manager
Reporting and monitoring tools
Data utilities
Storage engine
The storage engine is the core component of the DBMS that interacts with the file system at an OS
level to store data. All SQL queries which interact with the underlying data go through the storage
engine.
Query language
A database access language is required for interacting with a database, from creating databases to
simply inserting or retrieving data. A proper DBMS must support one or multiple query languages
and language dialects. Structured query language (SQL) and MongoDB Query Language (MQL) are
two query languages that are used to interact with the databases.
In many query languages, the query language functionality can be further categorized according to
specific tasks:
Data Definition Language (DDL). This consists of commands that can be used to define
database schemas or modify the structure of database objects.
Data Manipulation Language (DML). Commands that directly deal with the data in the
database. All CRUD Operations come under DML.
Data Control Language (DCL). This deals with the permissions and other access controls
of the database.
Transaction Control Language (TCL). Command which deals with internal database
transactions.
Optimization engine
The optimization Engine allows the DBMS to provide insights into the performance of the database
in terms of optimizing the database itself and queries.
Metadata catalog
This is the centralized catalog of all the objects within the database. When an object is created, the
DBMS keeps a record of that object with some metadata about it using the metadata catalog. Then,
this record can be used to:
Log manager
This component will keep all the logs of the DBMS. These logs will consist of user logins and activity,
database functions, backups and restore functions, etc.
Data utilities
In addition to all the above, most DBMS software comes with additional inbuilt utilities to provide
functionality such as: