Databases store sets of data about products, customers, orders and other facets of business operations for use...
in transaction processing or BI and analytics applications. A database management system is software that supports the development, administration and use of databases. DBMS is an umbrella term for different types of database management technologies developed over the past 50-plus years.
A relational database management system (RDBMS) is a kind of DBMS that was created in the 1970s and eventually became the dominant database technology. Its hallmarks are a row-based table structure that connects related data elements to one another and support for the Structured Query Language (SQL), a programming language used to manage relational databases and retrieve data from them.
Let's take a closer look at the difference between DBMS and RDBMS technologies, focusing on some general characteristics of the former and specific attributes that differentiate the latter from other types of DBMS software for data management uses.
What is a DBMS?
The DBMS universe includes far more than RDBMSes. As a result, it encompasses a variety of approaches for organizing and structuring the data sets stored in databases. The first DBMS technologies to emerge in the 1960s supported hierarchical databases, in which data is organized in a treelike structure with parent and child records, and network databases, which enable relationships to be mapped between data elements in different parent-child groupings.
Such products that are still available include IBM's Information Management System, better known by its acronym IMS; Integrated Data Management System, which is now owned by Broadcom Inc. and marketed as IDMS with an added relational front-end framework; and Adabas from Software AG.
Other DBMS categories that were developed later include systems for managing object-oriented databases that treat data as objects; columnar databases that are oriented more to columns than rows; and multidimensional databases that are designed specifically to support analytical querying by structuring data in a cube form with various dimensions. Numerous desktop database systems for managing data stored on PCs and laptops have been created, too, including Microsoft Access and Claris FileMaker Pro.
Over the past 15 years, a diverse set of DBMS technologies grouped together as NoSQL systems emerged and became broadly used, primarily in big data applications that involve unstructured or semistructured data. There are four main classes of NoSQL software, united by support for flexible database schemas: key-value stores, document databases, graph databases and wide-column stores.
Prominent examples of NoSQL DBMS products include Aerospike, Cassandra, Google Cloud Bigtable, Couchbase, Amazon DynamoDB, HBase, MongoDB, Neo4j and Redis. Many NoSQL offerings now support more than one of the four data models, including technologies like MarkLogic and Microsoft's Azure Cosmos Products that were purposefully developed as multimodel database systems.
The general concepts of database management are similar across the various DBMS categories, including RDBMS platforms. A DBMS sits between databases and the applications and end users connected to them, as well as database administrators (DBAs) who monitor and manage databases. Via queries and commands processed in the DBMS, end users can access, add and update data, while DBAs can tune performance, change database structures and manage backup and recovery processes.
What is an RDBMS?
Relational software uses the concept of database normalization and the constraints of primary and foreign keys to establish relationships between rows of data in different database tables. Primary keys are unique identifiers for a table's rows -- for example, a customer ID number could be the primary key in a table with data on a company's customers. Foreign keys point to primary keys in other tables.
The ability to link related data values via the use of keys eliminates the need to store data in multiple tables. That reduces data redundancy, which, in turn, lowers storage requirements, streamlines database maintenance and enables faster querying in RDBMS environments.
The relational model was first defined by IBM researcher E.F. Codd in a technical paper published in 1970. Oracle released the first commercial RDBMS in 1979, when the company was called Relational Software Inc., and other vendors soon developed rival products. SQL, also created at IBM, was adopted as a common programming language for relational databases and then standardized in 1986 -- although RDBMS vendors still offer versions of it with proprietary extensions for querying and data manipulation.
The rise of the RDBMS began in earnest in the 1980s as the client-server model of computing took hold in organizations, and relational systems began to dominate the DBMS market by the mid-1990s. Now, cloud-based database services are driving most of the growth in relational software deployments. The following are examples of top RDBMS products:
- Microsoft SQL Server and Azure SQL Database, its cloud cousin;
- Amazon Aurora from AWS;
- Oracle Database, which underpins the Oracle Autonomous Database cloud service;
- Google Cloud SQL;
- IBM Db2; and
- SAP HANA.
Three open source database platforms are also popular RDBMS options: PostgreSQL, MariaDB and MySQL, which is owned by Oracle.
Differences between DBMS and RDBMS
The row-based table structure in relational databases is a key difference between DBMS and RDBMS architectures, if you leave the latter category out of the broad DBMS classification. Other types of DBMSes don't store data in the same kind of tabular form or follow the data modeling concepts that are built into the relational approach.
Another notable difference is relational technology's support for referential integrity and other integrity checks designed to help keep data accurate and prevent inconsistent information from being entered in database tables. That's part of its adherence to the ACID properties: atomicity, consistency, isolation and durability, which ensure that database transactions are processed in a reliable way.
Other types of DBMS software don't necessarily provide the same level of transactional integrity. For example, many NoSQL databases guarantee a more limited form of ACID compliance, called eventual consistency. That isn't universal, though. Some NoSQL vendors have now built stronger ACID support into their software.
The following table highlights those and other differences between RDBMS technology and other DBMS platforms:
|Stores data in row-based tables with multiple columns||Use various approaches and structures to store data|
|Uses the relational model to map relationships between data elements||Support different data models, depending on the specific technology|
|Uses SQL as a standard language for managing and querying data||Support different programming languages, with no universal standard|
|Provides ACID compliance to guarantee data and transaction reliability||May not support ACID principles or be fully compliant with them|
|Reduces data redundancy through database normalization and the use of keys||Don't always offer normalization, adding redundant data but more flexibility|
|Has a rigid schema that limits the types of data it can store and manage||Often accommodate flexible schemas with no upfront requirements|
|Ensures that data is correct through referential integrity||Don't uniformly support referential integrity checks|
RDBMS concepts and features support reliable, stable and relatively robust processing of structured transaction data. As the table indicates, though, relational technology does have some limitations of its own -- in particular, its requirement that databases include a rigid schema that's difficult for DBAs to modify on the fly.
By comparison, the flexible database schemas that are a common attribute of NoSQL platforms enable them to accommodate data in different formats within a single database. That flexibility has helped create an opening for NoSQL software in big data environments, although relational databases are still at the center of most IT architectures.
The difference isn't absolute, though. For example, CQL has similarities to SQL. And while the term NoSQL initially meant just that, in many cases, it has evolved to also stand for "not only SQL," as NoSQL vendors have incorporated elements of SQL into their products for programming uses. Conversely, some RDBMS products now support NoSQL data models through features like integrated document and graph data stores.
Dig Deeper on Database management
Related Q&A from Craig Stedman
Operational data stores and data warehouses both store operational data, but the similarities between them end there -- and they both have a role to ... Continue Reading