A database management system (DBMS) is software designed to develop and manage the data stored in databases. A database is a collection of organized data, normally stored electronically within a computer. The database management system organizes the data and allows a person to access, manage, and alter it. It also supports and controls additional compatible tools in the form of software and apps. Businesses need different types of database management systems to track their business transactions quickly and efficiently. A DBMS manages data on services, transactions, sales, and customers. Additionally, it allows managers to access their data when making real-time decisions.
As the volume of a business’s data increases, so too does its need for a DBMS to help orchestrate the large amounts of information it collects.
A database management system allows database administrators to manage both the data and the controls that allow others to access the data. It also allows administrators to manage the database schema. A good DBMS will provide security and ensure the data’s integrity. Popular database management systems include Oracle Database, Microsoft SQL Server, and PostgreSQL.
Many large organizations, such as Netflix and Google, use different types of database management systems simultaneously to perform a variety of business and customer experience tasks.
The Flat File Database
The earliest solution for managing data used what is called the flat file database. This is a very basic way to store small amounts of data with no actual organization. A flat file database does not organize the data but rather stores it as a “single table.” It is the simplest way to store and access data on a computer without the use of a software program to coordinate and manage the data.
This storage method presents data in regular, machine-readable structures within files. The data is stored in plain text, limiting the type of content that can be represented inside the database itself, so as the amounts of stored data increase, locating the data manually becomes more and more difficult. (Because of their simplicity and minimal storage requirements, flat files are the logical format choice for data lakes and data warehouses.)
By comparison, the flat file database illustrates the need for highly functional database management systems.
Relational Database Management Systems
The relational database model came about in 1969-70 as a solution for dealing with the variety of custom-designed DBMSs that were used, prior to 1969. The early custom-designed systems were often clumsy, difficult to work with, and generally inefficient. The relational database model provided a superior, standardized solution.
The software for modern relational database management systems is currently available for both personal laptops and large mainframe systems.
The relational DBMS uses tables organized into columns (an improvement on the flat file’s single table). It offers a standardized method of presenting and querying data that can be accessed by many different software applications.
The development of SQL (structured query language) added to the strengths of relational databases, and database developers began to use SQL as a way to write the data and query it within a database.
Over time, relational databases, combined with SQL, have become extremely popular as a tool for businesses, providing an effective way to store and access data. Because it is based on relational algebra, structured query languages offer a consistent mathematical language, which other database management systems do not.
Other types of databases (such as NoSQL) may have difficulties in maintaining the same level of timely consistency while working with significant amounts of data.
Relational databases and their management systems can be considered mature technologies. They began being used in 1970 (53 years ago) and have acted as a foundation for the development of thousands of supporting business software programs and apps.
Modern relational database management systems can be used to process e-commerce transactions, manage massive amounts of customer information, track inventories, and much, much more.
Because of their design and maturity, relational database management systems offer organizations a wide range of business services and are excellent at maintaining data consistency across different applications.
Graph Database Management Systems
Most graph databases come with a built-in database management system. They are focused on storing and navigating relationships and the database’s value is based on these relationships.
The graph database was developed in 2006 and uses a design that is entirely different from relational databases. It offers a more flexible platform for detecting and establishing connections and relationships. Because of their design, graph databases are faster at presenting relationships than relational databases.
Graph databases do not map relationships through the use of tables and foreign keys, but instead establish connections by using nodes, edges, and properties.
The primary reason graph databases are not as popular as other databases is that people without an understanding of graph theory can find it confusing and difficult to set up. Many don’t understand its capabilities and do not consider graph databases to be very user-friendly.
As a technology, graph databases have not developed the same business software services available to relational databases. Instead, their ability to establish relationships makes them very useful for detecting anomalies, which in turn makes them useful for:
- Fraud detection
- Marketing/real-time recommendation engines
- Network and IT operations
- Security/identity and access management
An interesting spin-off in the use of graph databases has to do with criminal investigations. Graph databases have recently revolutionized the analysis of criminal activity. Although some crimes are small and opportunistic, others are large and involve many people.
Graph databases can help to resolve crimes performed on a large scale, with many interconnected people, businesses, gangs, and even locations, by establishing their relationships and activities. Their relationships and activities can be expressed visually with a graph to provide a big-picture perspective.
NoSQL Database Management Systems
NoSQL databases came about as a solution to the limitations of relational databases. In the mid-1990s, as the internet became extremely popular, large businesses using relational databases started having problems.
Relational databases, because of their storage design, simply were not able to keep up with the volumes of data and the variety of data types. This led to the development of non-relational databases, and more specifically, to NoSQL as a way for a business to shift from dealing with a few businesses and customers to doing business with millions of internet users.
NoSQL databases were developed to work with the internet and the cloud as support systems.
NoSQL database management systems are ideal for situations requiring real-time analytics, such as the Internet of Things, the customer experience, and social media feeds.
For example, companies such as eBay, Facebook, Netflix, and Twitter use Apache Cassandra, an open-source NoSQL system, for their high-volume and high-velocity data workloads. Another popular NoSQL database management system is MongoDB.
NoSQL databases can work with a variety of data types (unstructured, semi-structured, and structured), and because of their horizontal data storage design, they can store truly massive amounts of data. This avoids the rigidity of relational databases by replacing “organized” data storage with a more flexible system. The design for scalable data storage involves spreading out the storage and computing processes across many computers.
Increasing the storage and processing capacity of a NoSQL system requires the addition of more computers.
Popular Database Management Systems
There are a number of highly functional DBMSs available, and selecting the most appropriate one to meet your business’s needs is important. Many modern database management systems combine the features and strengths of NoSQL, graph databases, and relational databases.
Several are open source, allowing small organizations to find a management system that meets both their needs and budget. Some of the more popular systems are listed below:
Oracle is a proprietary database management system with advanced Data Management tools. It can support structured data (SQL), semistructured data (JSON, XML), spatial data, and RDF storage. Oracle can be useful for large organizations with enormous databases and a variety of needs.
MySQL is a very popular DBMS for working with web-based applications. It is open source, but there are several paid-for versions designed for commercial use. The open-source version focuses on speed and reliability, rather than supporting an array of features and tools. MySQL is very reliable and does not waste resources.
Microsoft SQL Server works on cloud-based servers as well as local servers, and it can be set up to work on both at the same time. This DBMS works very well with other Microsoft products. The Microsoft SQL Server is useful for large organizations wishing to use Microsoft products.
PostgreSQL is an advanced open-source relational DBMS that supports both JSON (non-relational) and SQL (relational) querying. It is commonly used for web databases. PostgreSQL allows users to work with both unstructured and structured data and can be used with most major platforms, which includes Linux-based platforms. It can be hosted in several different environments, including cloud-based environments.
MongoDB is an open-source NoSQL database management program and is designed for both structured and unstructured data. It uses a “schema-free” approach and stores data in a “documents” format. MongoDB is a distributed database and coordinates multiple servers for scalability when storing data.
MariaDB offers a free DBMS as well as paid versions. It comes with a variety of plugins and innovations. It provides distributed SQL features and is fast becoming the most popular open-source Database Management system. It supports a variety of storage engines and is very scalable. MariaDB is also compatible with MySQL.
Redis is an open-source DBMS and offers an in-memory database and a key-value store. Redis is very scalable and comes with automatic failover, built-in replication (data replication), and sharding via Redis Cluster.
Image used under license from Shutterstock.com