? What does Database Management System (DBMS) mean
. Database Management System (DBMS) is system software for creating and managing databases
.A DBMS makes it possible for end users to create, protect, read, update and delete data in a database
The most prevalent type of data management platform, the DBMS essentially serves as an interface between databases and users or
application programs, ensuring that data is consistently organized and remains easily accessible
,And with another definition
A Database Management System (DBMS) is a software package designed to store, retrieve, query and manage data. User interfaces
(UIs) allows data to be created, read, updated and deleted by authorized entities
:Well-known DBMSes include
Access – a lightweight relational database management system (RDMS) included in Microsoft Office and Office 365
Amazon RDS – a native cloud DBMS that offers engines for managing MySQL, Oracle, SQL Server, PostgreSQL and Amazon Aurora databases
Apache Cassandra – an open-source distributed Database Management System known for being able to handle massive amounts of data
.Filemaker – a low-code/no-code (LCNC) relational DBMS
.MySQL – an open-source relational Database Management System (RDBMS) owned by Oracle
.MariaDB – an open-source fork of MySQL
.Oracle – a proprietary relational database management system optimized for hybrid cloud architectures
SQL Server – an enterprise-level relational Database Management System from Microsoft that is capable of handling extremely large volumes of data and database queries
? What are the components of Database Management System
A DBMS is a sophisticated piece of system software consisting of multiple integrated components that deliver a consistent, managed
environment for creating, accessing and modifying data in databases
:These components include the following
:Storage engine
This basic element of a DBMS is used to store data. The DBMS must interface with a file system at the operating system (OS) level to
store data. It can use additional components to store data or interface with the actual data at the file system level
:Metadata catalog
Sometimes called a system catalog or database dictionary, a metadata catalog functions as a repository for all the database objects that have been created
The DBMS uses this catalog to verify user requests for data, and users can query the catalog for information about the database structures that exist in the DBMS
The metadata catalog can include information about database objects, schemas, programs, security, performance, communication and other environmental details about the databases it manages
:Database access language
The DBMS also must provide an API to access the data, typically in the form of a database access language to access and modify
data but may also be used to create database objects and secure and authorize access to the data
SQL is an example of a database access language and encompasses several sets of commands, including Data Control Language for
authorizing data access, Data Definition Language for defining database structures and Data Manipulation Language for reading and modifying data
:Optimization engine
The optimization Engine allows the DBMS to provide insights into the performance of the database in terms of optimizing the database it self and queries
When Database Management System coupled with database monitoring tools, it can provide a powerful toolset to gain the best performance out of the database
:Lock manager
This crucial component of the DBMS manages concurrent access to the same data. Locks are required to ensure multiple users aren’t
trying to modify the same data simultaneously
:Log manager
.The DBMS records all changes made to data managed by the DBMS
The record of changes is known as the log, and the log manager component of the DBMS is used to ensure that log records are made efficiently and accurately
:Data utilities
.DBMS also provides a set of utilities for managing and controlling database activities
Examples of database utilities include reorganization, runstats, backup and copy, recover, integrity check, load data, unload data and repair database
Popular types and examples of Database Management System technologies
:Popular database models and management systems include
:RDBMS
An RDBMS is a type of database management system (DBMS) that stores data in a row-based table structure which connects related data elements.
:NoSQL DBMS
NoSQL is a class of database management systems (DBMS) that do not follow all of the rules of a relational DBMS and cannot use traditional SQL to query data
:NewSQL DBMS
NewSQL is a class of relational database management systems that seek to provide the scalability of NoSQL systems for online transaction processing (OLTP) workloads while maintaining the ACID guarantees of a traditional database system
:in-memory DBMS
An in-memory database (IMDB, or main memory database system (MMDB) or memory resident database) is a DBMS that primarily relies on main memory for computer data storage
:columnar DBMS
. columnar DBMS is a database management system (DBMS) that stores data tables by column rather than by row
benefits include more efficient access to data when only querying a subset of columns (by eliminating the need to read columns
that are not relevant), and more options for data compression
:multimodel DBMS
A multi-model database is a management system that combines multiple database types with a single backend. Most database
management systems support only a single database model
.On the other hand, multi-model databases store, query, and index data from different models
:cloud DBMS
A cloud database is a database that typically runs on a cloud computing platform and access to the database is provided as-a-service
There are two common deployment models: users can run databases on the cloud independently, using a virtual machine image, or
they can purchase access to a database service, maintained by a cloud database provider
Of the databases available on the cloud, some are SQL-based and some use a NoSQL data model
Database services take care of scalability and high availability of the database. Database services make the underlying software-stack
transparent to the user