Skip to content
Article

What Is a Database Management System (DBMS)? Types, Examples

A DBMS is the software that stores and queries data and keeps it consistent. Its functions, ACID, the role of SQL, NoSQL and how to choose one.

Oğuzhan Gerçek··7 min read
What Is a Database Management System (DBMS)? Types, Examples

Short answer: A database management system (DBMS) is the software that manages how data is stored, organized and retrieved. Applications reach the data through the DBMS, which isolates concurrent transactions, enforces permissions and brings the data back to a consistent state after a crash. There are two broad families: relational systems that keep data in tables and query it with SQL (PostgreSQL, MySQL, SQL Server, Oracle), and NoSQL systems that use document, key-value, wide-column or graph models (MongoDB, Redis).

What is a database management system?

Oracle's Database Concepts guide separates the two ideas: a database is an organized collection of information treated as a unit, while a DBMS is the software that controls the storage, organization and retrieval of data. PostgreSQL and MySQL, often loosely called "databases", are technically DBMSs; MySQL's own documentation describes MySQL that way. You will find a short definition of the term in our glossary.

A DBMS frees the application from the details of storage: in Oracle's description, the application states what it wants and the DBMS decides how to do it, for example by using an index to find the rows.

What does a DBMS do?

The main jobs expected of a DBMS are:

  • Storage and queries: It writes data to disk, indexes it and answers queries.
  • Transaction management: It applies related changes as a single unit (see below).
  • Concurrency: It isolates users working on the same data at the same time; in PostgreSQL's MVCC model, reading never blocks writing and writing never blocks reading.
  • Integrity: It rejects data that breaks defined rules such as foreign keys.
  • Durability and recovery: In PostgreSQL, a change reaches the data files only after its write-ahead log (WAL) record has been flushed to permanent storage; after a crash, missing changes are redone from that log. The same log also makes online backup and point-in-time recovery possible.
  • Authorization: In PostgreSQL, most objects can initially be used only by their owner; other roles have to be granted privileges.

We cover the DBA's duties and backup methods in our DBA and backup articles.

Transactions and ACID

A transaction is a unit of work in which several statements behave as one. In Oracle's example, a money transfer has three steps: debit one account, credit the other and record the transfer. If insufficient funds or a hardware failure stops one of the steps, the whole transaction is rolled back. Transactions have four properties, known by the acronym ACID:

  • Atomicity: Either all the steps happen or none of them do.
  • Consistency: The transaction takes the database from one consistent state to another.
  • Isolation: A transaction's effects are not visible to other transactions until it commits.
  • Durability: Committed changes are not lost, thanks to the recovery mechanisms.

On the NoSQL side the picture is mixed: in MongoDB, an operation on a single document is always atomic, while multi-document transactions require a feature compatibility version of at least 4.0 on replica sets and 4.2 on sharded clusters.

The role of SQL

In Oracle's definition, SQL is a set-based, declarative language that provides an interface to relational DBMSs: procedural languages describe how something should be done, while SQL describes what should be done. Querying, inserting and deleting data, creating objects such as tables and controlling access all happen in the same language.

The standard's formal name is ISO/IEC 9075, and its latest version is SQL:2023. Standard and products do not match exactly: according to the PostgreSQL documentation, no DBMS claims full conformance to Core SQL:2023. That is why SQL code needs reviewing when you switch systems.

Types of DBMS: relational and NoSQL

Microsoft's data store guide describes the main models like this:

  • Relational: Stores data in normalized tables using schema-on-write, enforces integrity, and supports ACID transactions and rich SQL queries. According to Oracle, the model goes back to E. F. Codd's 1970 paper and is today the most widely accepted database model.
  • Document: Stores semi-structured documents, often in JSON format, with a schema that is flexible per document. Example: MongoDB.
  • Key-value: Associates each value with a unique key; most support only simple queries, inserts and deletes. Example: Redis.
  • Wide-column: Stores sparse data in rows and groups dynamic columns into column families that are accessed together. Example: Apache Cassandra.
  • Graph: Stores information as nodes and edges. Example: Neo4j.

According to the guide, these nonrelational systems, known as NoSQL, relax some aspects of relational behavior, such as schema rigidity and transaction scope, in exchange for flexible schemas, horizontal scale and specific access patterns.

Common DBMS examples

In Stack Overflow's 2025 survey, 55.6% of the 26,083 developers who answered the question said they had done extensive development work with PostgreSQL in the past year, followed by MySQL at 40.5%, SQLite at 37.5% and SQL Server at 30.1%.

How to choose a DBMS

These are the most decisive criteria in Microsoft's selection guide:

  • Data format and relationships: Tables or JSON documents; do you need joins, graph traversal or hierarchies? We discuss choosing by access pattern in our PostgreSQL vs MongoDB article.
  • Workload and consistency: OLTP for transactions or OLAP for complex analysis; is strong, eventual or configurable consistency enough?
  • Scale and availability: Vertical or horizontal scaling; what are the SLA and failover expectations? We explain how copies are kept in our replication article.
  • Operating model: Self-hosted or a managed service? The guide treats this as a trade-off between control, operational overhead and flexibility. A DBMS can be installed on a cloud server or consumed as a managed platform service.
  • Region, licensing and team: Data residency and compliance needs, vendor lock-in, and the team's familiarity with the query language and tooling.

After the choice come installation, monitoring, backups and version management. We define taking these on as a service in our glossary entry on database operations services, and cover high-availability design on our database platform engineering page.

Frequently asked questions

What does DBMS mean? Database management system: the software that stores and queries data and keeps it consistent.

What is the difference between a database and a DBMS? A database is the organized data itself; a DBMS is the software that stores, organizes and serves that data to applications. PostgreSQL and MySQL are DBMSs.

What are some examples of database management systems? On the relational side, PostgreSQL, MySQL, SQL Server, Oracle Database and SQLite; on the NoSQL side, MongoDB, Redis, Cassandra and Neo4j. In Stack Overflow's 2025 survey, PostgreSQL was the most widely used.

Is SQL a database? No. SQL is the standard query language for working with relational DBMSs; its formal name is ISO/IEC 9075.

What is the difference between a relational database and NoSQL? Relational systems keep data in schema-bound tables and support ACID transactions. NoSQL systems give up some of that behavior in exchange for flexible schemas and horizontal scale.

Sources