DBMS (Database Management System)

Why Trust Techopedia

What is a Database Management System (DBMS)?

A simple database management system (DBMS) definition is middleware that allows programmers, database administrators (DBAs), software application, and end users to store, organize, access, query, and manipulate data in a database.

Advertisements

DBMSs are important because they provide efficient and reliable mechanisms for organizing, managing, and using vast amounts of data while also ensuring data integrity and providing other data management benefits.

Techopedia Explains the DBMS Meaning

Techopedia Explains the DBMS Meaning

In the enterprise, database management systems provide database administrators (DBAs) with a structured framework that facilitates data sharing among different departments, teams, and applications. The DBMS provides employees with controlled and organized access to data that they can use to drive innovation and help their company maintain a competitive edge.

History of Database Management Systems

The history of database management systems dates back to the early 1960s when computers began to be used for data processing. At that time, the concept was usually referred to as an information management system.

The first commercially available database management system was the Integrated Data Store (IDS). It was developed by Charles W. Bachman and his team at General Electric (GE) in the late 1960s.

IDS was a hierarchical DBMS that organized data in a tree-like structure, with parent-child relationships between records. It allowed users to store, retrieve, and manage data in a structured manner. IDS also introduced the concept of the data dictionary, which defined the structure and relationships of the data within the database. Prior to IDS, data was usually stored in flat files, and there was no standard for how the files should be stored, accessed, or manipulated.

Bachman’s IDS was eventually overshadowed by the emergence of relational databases and the Structured Query Language (SQL) in the 1970s. Since that time, DBMS products and services have undergone continuous advancements that have improved data storage, retrieva, and management.

Evolution of Database Management Systems

Year Event
1964 Development of the first database, an Integrated Data Store (IDS), by Charles Bachman at General Electric.
1966 IBM introduces the Information Management System (IMS), a joint development with Rockwell and Caterpillar.
1970 Edgar F. Codd introduces the relational model in a paper titled “A Relational Model of Data for Large Shared Data Banks“.
1974 The Structured Query Language (SQL) is created.
1976 Peter Chen introduces the Entity-Relationship Model in his paper “The Entity-Relationship Model – Toward a Unified View of Data“.
1979 Oracle releases the first commercial relational database that uses SQL.
1980 IBM introduces System R, the SQL-based relational database management system.
1981 SQL/DS, the first full-function DBMS to run on personal computers, is released by IBM.
1983 The first version of DB2 by IBM is released for mainframes.
1986 The Object-Oriented Database System Manifesto is published, giving a significant push to the development of object-oriented databases.
1996 PostgreSQL, one of the first open-source relational database management systems is launched.
1998 MySQL, another significant open-source RDMS, is released for Windows 95 and NT.
1998 Microsoft launches SQL Server 7.0, a complete rewrite of their DBMS.
2000 Internet startups embrace XML databases.
2004 The term “NoSQL” gains popularity, leading to a new generation of non-relational, distributed databases.
2006 Google publishes a paper on BigTable, its internal NoSQL database, influencing a new wave of open source NoSQL databases
2012 Amazon introduces DynamoDB, a proprietary NoSQL database.
2013 FoundationDB, a distributed database designed to handle large volumes of structured data, is released.
2017 Google announces Spanner, a globally distributed database.
2020s Continued development and innovation in DBMS technology, with a focus on cloud-native databases, edge databases and improvements in artificial intelligence (AI) integration for database management. Blockchain databases also become a significant topic of interest.

DBMS Components

The core component of every DBMS is called the database engine. It is the software that interacts directly with the underlying storage system or file system and orchestrates the interactions between modular sub-components that enable the engine to manage and manipulate data in the database system. This includes modules for:

Backup and Recovery
These modules manage data backup and recovery operations to protect against data loss or system failures. They include mechanisms for creating database backups, restoring data, and performing recovery operations.

Concurrency Control and Transaction Management
These modules manage concurrent access to the database by multiple users or applications. They handle locking mechanisms and ensure data consistency. 

Database Access Language
This type of module allows the database engine to process and interpret user queries or commands written in the default access language. It analyzes the query language syntax, validates the query against the catalog information, and generates an optimized execution plan to retrieve or manipulate the data as requested.
Data Definition Language (DDL)
The DDL module allows users to define the structure and organization of the data. It includes commands for creating, altering, and deleting database objects such as tables, views, indexes, and constraints.
Data Dictionary
The data dictionary (also called the metadata repository) stores metadata about the database, including information about the data’s structure, relationships, and properties. This module is used by the DBMS engine to ensure data consistency and enforce unique constraints.
Data Manipulation Language (DML)
The DML module provides commands for manipulating and retrieving data within the database. Users can use DML statements to insert, update, delete, and query data.
Data Warehousing and Business Intelligence
These modules facilitate data extraction, transformation and loading from multiple sources into a separate data warehouse. They also support online analytical processing (OLAP) and reporting tools for business intelligence (BI).
Indexing
Most DBMSs include indexing modules to speed up query execution by reducing the amount of data that needs to be scanned. 
Locking
The lock manager component of a DBMS is responsible for managing concurrency control. It prevents conflicts and maintains data consistency by ensuring that multiple users or transactions cannot modify the same data simultaneously.
Logging and Auditing
DBMSs often include modules for database logging and auditing activities. Log records document changes to the database – including inserts, updates, and deletions – as well as system events such as backups and recoveries. Auditing involves monitoring and reviewing these logs to track user actions, maintain data integrity and help enforce security policies’ compliance.
Processing Queries
The query processor receives and interprets user queries, converts them into an optimized execution plan, and interacts with the database engine to execute queries efficiently. It includes sub-modules for optimizing queries that consider factors such as available indexes, join operations, and data access methods.
Replication
Some DBMSs support data replication, which involves creating and maintaining multiple copies of the database in different locations or on different servers. Replication improves data availability, fault tolerance, and performance. It ensures that if one copy of the database becomes unavailable, the data can still be accessed from another copy.
Security and Authorization
The security and authorization modules control user access to the database and ensure data privacy and integrity. They handle authentication, and user management, and implement th principle of least privilege (PoLP) access control mechanisms based on user roles and job requirements.
Storage
The database engine in a DBMS communicates with a storage engine to manage physical data storage. The storage engine is responsible for handling the low-level details of how data is stored and accessed, while the database engine coordinates and orchestrates these actions to optimize the overall functioning of the database management system.
User Interfaces
These modules provide user interfaces (UI) that allow programmers, database administrators, and end users to interact with the database. This can include command-line interfaces (CLI), graphical user interfaces (GUI), or application programming interfaces (APIs) for software integration.
User Policies
User policies define and enforce access controls and internal security policies. They specify permissions, roles, and privileges and govern how users can interact with a database.

Database vs. DBMS

Database vs. DBMS

The terms “database” and “database management system” are often used interchangeably in casual conversations. That’s probably because when end users interact with a database, they are not aware of the underlying DBMS and its distinct role in managing data. To add to the confusion, in some cases, the DBMS is embedded directly into the application code, making it even less apparent that a separate system is involved.

To differentiate between the two terms and use them correctly, it’s helpful to understand their respective roles and functionalities:

  • A database is a structured collection of data.
  • The database management system is the software that developers, end users, and applications use to interact with a database.

RDBMS vs. DBMS

A relational database management system (RDBMS) is a type of database management system. All RDBMSs are DBMSs, but not all database management systems are relational database management systems.

DBMS RDBMS
Different types can be used to manage various types of database models Can only manage the relational database model
Data can be stored in diverse structures depending on the type of DBMS used Always stores data in tables with rows and columns
The automatic enforcement of data integrity may vary across different types of DBMS Automatically enforces data integrity through constraints such as primary key, unique key, and foreign key
Different DBMS types can use different languages or techniques for manipulating data Always uses SQL

Types of Database Management Systems

Until the turn of the century, database management systems were classified as either relational or non-relational, depending on their structure and uses. If the DBMS stored data in tables, it was referred to as a relational DBMS (RDBMS). If it did not store data in tables, it was referred to as a NoSQL or non-relational DBMS.

Today, database management systems are still categorized as being either RDBMS or non-RDBMS, but they are also classified by the unique advantages they provide. Types of DBMSs include:

Cloud Database Management Systems

Columnar Database Management Systems
Columnar DBMSs like Apache Cassandra return queries faster by storing data in columns instead of rows. This schema makes it easier for data analytics and business intelligence applications to work with large datasets.

Distributed Database Management Systems
DDBMS functionalities like those found in the Apache Hadoop ecosystem are designed to ensure data integrity for logically related databases across multiple locations or computing environments. 
Graph Database Management Systems
These systems are designed to support graph databases that store relationships at the individual record level. Graph DBMSs like Neo4j are ideal for managing data with interconnected relationships, such as social media data. 
Hierarchical Database Management Systems
Hierarchical management systems are designed to support databases organized in parent-child relationships. This type of DBMS has its roots in mainframe computing and its uses today are limited. 
HTAP Database Management Systems
Hybrid transaction/analytical processing DBMSs are designed to support mixed workloads for transactional and analytical data. Traditional database systems often have separate systems for online transaction processing (OLTP) and online analytical processing (OLAP) workloads. HTAP management systems like SAP HANA and CockroachDB provide a unified platform that can handle both types of tasks concurrently.
In-memory Database Management Systems
In-memory management systems are designed to reduce latency by using main memory for data management and storage. Volt Active Data and other IMDBMSs make data retrieval significantly faster and improve overall system performance.
Object-oriented database management system (OODBMS)
db4o is one example of this type of DBMS. OODMBSs are designed to manage complex data structures as storage objects.
NewSQL Database Management Systems
NewSQL DBMSs like PostgreSQL provide the scalability and performance benefits of NoSQL databases while retaining the ACID properties of traditional relational databases. This type of DBMS is designed for large-scale distributed environments and can handle high-throughput transactional workloads.
Time-Series Database Management Systems
Time-series DBMSs like InfluxDB optimize the storage, retrieval, and analysis of time-stamped data. They are often used to support financial analytics and Internet of Things (IoT) monitoring systems.  

Database Management Systems Example

Examples of well-known DBMSes include:

Microsoft Access logo Access – a lightweight RDMS included in Microsoft Office and Office 365.
Amazon RDS logo Amazon RDS – a native cloud DBMS that offers engines for managing MySQL, Oracle, SQL Server, PostgreSQL and Amazon Aurora databases.
Apache Cassandra logo Apache Cassandra – an open source distributed database management system known for being able to handle massive amounts of data.
Filemaker logo Filemaker – a low-code/no-code (LCNC) relational DBMS.
Google Cloud Spanner logo Google Cloud Spanner – a globally distributed, horizontally scalable, and strongly consistent relational database service offered by Google Cloud.
IBM DB2 logo IBM Db2 – a family of relational database management systems developed by IBM that offers various editions for different environments and workloads.
MariaDB logo MariaDB – an open source relational database fork of MySQL.
Microsoft Azure SQL Database logo Microsoft Azure SQL Database – a cloud-based relational database service provided by Microsoft Azure that offers fully managed SQL databases.
MongoDB logo MongoDB – A popular NoSQL database management system that uses a document-oriented schema to provide high scalability and flexibility.
MySQL logo MySQL – an open source RDBMS owned by Oracle.
Oracle RDMS logo Oracle – a proprietary RDMS optimized for hybrid cloud architectures.
PostgreSQL logo PostgreSQL – an open source relational database management system known for its robustness, scalability, and extensive feature sets.
SAP HANA logo SAP HANA – an in-memory, column-oriented RDBMS optimized for real time data ingestion and high-performance analytics.
SQL Server logo SQL Server – an enterprise-level relational database management system from Microsoft that is capable of handling extremely large volumes of data and database queries.
SQLite logo SQLite – a lightweight, file-based relational database engine that is widely used in embedded systems and mobile applications.
Teradata logo Teradata – a powerful SQL engine that provides scalable solutions for managing and analyzing large volumes of data.

Benefits of Using a DBMS

Concurrency controlSecurity featuresCompliance supportData lifecycle managementPrivacy controls

Manages interactions between multiple users or applications accessing the same database simultaneously, ensuring data integrity in high-traffic scenarios.

Offers a variety of security features such as access control rules, user role assignments, and permission settings to safeguard data from unauthorized access or manipulation.

DBMSs are useful compliance tools because they provide audit trails and logging capabilities to track and monitor data access use and modifications.

A DBMS can help admins manage data lifecycle management by implementing policies for data retention, archival, and eventual disposal. A DBMS can also help enforce privacy controls by providing mechanisms that anonymize or encrypt sensitive data.

Enforces privacy measures through mechanisms like data anonymization or encryption to protect sensitive information from unauthorized disclosure.

Challenges of Database Management Systems

Although database management systems have revolutionized the way small and large businesses handle and manage data, the learning curve for enterprise DBMS implementation and management can be challenging. This is especially true if the DBMS needs to be integrated with enterprise resource planning (ERP) systems or customer relationship management (CRM) platforms.

Rolling out a new DBMS can also be expensive. Even mid-size businesses will most likely need to hire or contract with a skilled database administrator to ensure their DBMS is properly configured, maintained, and optimized. Licensing fees, hardware infrastructure, software upgrades, and ongoing maintenance expenses can also strain budgets, especially for smaller organizations.

Future of the DBMS

Today’s DBMSs incorporate cutting-edge technologies such as AI, machine learning (ML), and blockchain to tackle the challenges of big data and help organizations stay compliant with relevant regulations and standards for data management.

  • DBMSs equipped with AI and ML capabilities can automate tasks such as query optimization, data indexing, and anomaly detection. Intelligent database management systems can learn from data patterns, adapt to changing workloads, and optimize performance autonomously.
  • Blockchain-enabled databases can provide immutable, transparent data storage and enable secure, auditable transactions. This type of database management system eliminates the need for central authorities while still enhancing data integrity. It makes them ideal for industries like finance, supply chain, and healthcare, where the risks and impacts of data tampering are significant.
  • DBMSs with built-in stream processing capabilities are becoming vital for use cases like real-time analytics, fraud detection, and personalized customer experiences.  With the rise of the IoT and streaming data sources, DBMSs will need to handle real time data processing even more efficiently.

FAQs

What is a DBMS in simple terms?

Is SQL a DBMS?

What is an example of a DBMS?

Is Excel a DBMS?

Advertisements

Related Questions

Related Terms

Margaret Rouse
Technology expert
Margaret Rouse
Technology expert

Margaret is an award-winning writer and educator known for her ability to explain complex technical topics to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles in the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret’s idea of ​​a fun day is to help IT and business professionals to learn to speak each other’s highly specialized languages.