What Does Database Management System (DBMS) Mean?
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.
Database management systems are important because they provides programmers, database administrators and end users with a centralized view of data and free applications and end users from having to understand where data is physically located. APIs (application program interfaces) handle requests and responses for specific types of data over the internet.
Relational and non-relational DBMS components delivered over the internet may be referred to as DBaaS (database as a service) in marketing materials. According to the research firm Gartner, database management systems designed to support distributed data in the cloud currently account for half of the total DBMS market.
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.
Techopedia Explains Database Management System (DBMS)
DBMS users include database administrators (DBAs), application programmers and end users.
Most of the time, database administrators are the only ones to directly interact with a DBMS. Today, programmers typically use cloud APIs to interact with a DBMS and end users typically read and write to the database through front-end interfaces created by programmers.
Back-end components of a DBMS include:
Catalog/Dictionary -- provides metadata management services for a data in the database.
Data utilities – manage backups and restores, data integrity checks and reporting.
Database access language -- provides a way for end users and application programs to access data. RDMSes, for example, use structured query language (SQL) as the default data access language.
Lock manager -- ensures multiple users can’t modify the same data simultaneously.
Log manager – provides a chronological record of database activity.
Optimization engine -- tunes database performance.
Query processor -- interprets user queries and returns requested output if permitted.
Storage engine -- carries out create, read, update and delete (CRUD) operations.
User policies – provides access controls.
Types of Database Management Systems
Until the turn of the century, database management systems were classified as either being relational or non-relational based on their structure and uses. Simply put, 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 non-relational DBMS.
Today, database management systems are still be categorized as being either RDBMS or non-RDBMS, but they are also categorized by the advantages they provide in the cloud.
In-memory database management systems (IMDBMS) – designed to reduce latency by using main memory for data management and storage.
Columnar database management systems (CDBMS) – designed to return queries faster by storing data in columns instead of rows.
Distributed database management systems – designed to ensure data integrity for logically-related databases.
Hierarchical database management system – designed to support databases organized in parent-child relationships.
Network database management system – designed to support many-to-many relationships.
Object-oriented database management system (OODBMS) – designed to handle a large number of data types.
Cloud DBMS – designed to manage distributed data stored in one or more clouds.
HTAP DBMS – designed to support mixed workloads for transactional and analytical data.
Graph DBMS – designed to support graph databases that store relationships at the individual record level.
[Jumpstart your career in database development, data warehousing, or business intelligence with the Database Management Essentials course from Coursera]