DBMS - Classification



Databases are nothing but a sophisticated way to store data. Database Management Systems (DBMSs) are essential for managing data efficiently. However, not all DBMSs are the same. They are classified based on different criteria that impact how they store, process, and provide access to data.

In this chapter, we will understand the major types of DBMSs, with examples and explanations of their unique features for a better understanding.

Classification by Data Model

Data model is the foundation of any DBMS; it determines how the data is organized, represented, and interacted with. We can classify a database into a specific category based on the data model it uses:

Relational DBMS (RDBMS)

Relational databases use a table-based format for data storage. The data is stored in rows and columns. This structure makes data relationships easy to manage, using keys to connect tables.

MySQL is one of the most popular RDBMSs. It is used by many different websites and applications for tasks like managing user data and processing orders. Other examples include Oracle Database and Microsoft SQL Server.

Object-Oriented DBMS (OODBMS)

Object-oriented databases store data as objects, similar to how programming languages like Java and C++ structure data. These DBMSs are great for applications that involve complex data structures.

For example, db4o (Database for Objects) is an OODBMS often used in embedded systems. It can handle complex data models directly, which makes it a good fit for applications with nested data. For example an inventory systems with different types of products.

Hierarchical DBMS

A hierarchical DBMS organizes its data in a tree-like structure. Each parent record has one or more child records, resembling a family tree. This model works well for situations where data relationships are naturally hierarchical. IBM's IMS (Information Management System) is a classic hierarchical DBMS. It is used in industries like banking to maintain customer records.

Network DBMS

A Network DBMS allows multiple parent-child relationships, forming a web-like data model. This flexibility supports more complex relationships. IDMS (Integrated Database Management System) is a network DBMS. It is often used for applications requiring many-to-many relationships, such as supply chain management.

NoSQL DBMS

NoSQL databases are designed to handle large volumes of unstructured or semi-structured data. They are more flexible than traditional relational databases and cater to the needs of modern applications, where variable data schemas are used.

A NoSQL DBMS can be further classified into the following categories −

  • Document-based − Stores data in documents, often in JSON format (e.g., MongoDB).
  • Key-Value Stores − Simple databases where data is stored as a key and associated value (e.g., Redis).
  • Column-family Stores − Store data in columns rather than rows, suitable for analytical processing (e.g., Cassandra).
  • Graph Databases − Designed to handle data with complex relationships (e.g., Neo4j).

MongoDB is widely used in applications where scalability and flexibility is needed. It is like real-time analytics and content management systems.

Classification by User Support

We can also classify a database based on the number of users it can support simultaneously:

Single-User Systems

Here the systems support one user at a time. These are often used for personal or small-scale applications. They typically run on individual PCs or workstations. For example, Microsoft Access is a single-user DBMS suitable for small business data management tasks.

Multi-User Systems

Multi-user systems allow multiple users to access and work with the database simultaneously. These are needed for collaborative environments and enterprise-level applications. For example, PostgreSQL is a powerful multi-user DBMS, known for its advanced features like concurrency control and high availability. It is used by large businesses for data warehousing and complex transactions.

Classification by Database Distribution

We can classify a database based on the way it stores the data:

Centralized DBMS

In a centralized DBMS, the data is stored in a single location. It is such as one server or data center. All user access and data processing are handled centrally. Like a university’s library system that stores all the records in one main server and allows students and faculty to access them remotely is a form of centralized DBMS.

Distributed DBMS (DDBMS)

A distributed DBMS is used to store data across multiple locations, connected through a network. This setup gives data to be processed locally while still being part of a larger database. There are quite a few such solutions like Amazon DynamoDB. They are distributed NoSQL database service, designed to handle large amounts of data across different regions and data centers. It is often used for high-availability applications like online gaming or financial transactions.

Distributed DBMS can be further classified into two different categories −

  • Homogeneous DDBMS − All sites use the same DBMS software.
  • Heterogeneous DDBMS − Different sites may use varied DBMS software, but a middleware facilitates integration.

Classification by Cost and Licensing

One can also consider the financial aspects of a DBMS, like its cost and licensing, to put it into a category −

Open-Source DBMS

Open-source DBMSs are free to use and can be modified as needed. Such databases are ideal for small and medium businesses or development projects with budget constraints. For example, MySQL and PostgreSQL are popular open-source DBMSs.

Commercial DBMS

Commercial DBMSs come with licensing fees and often provide robust customer support, additional features, and service-level agreements. For example, Oracle Database is a commercial RDBMS with extensive capabilities like real-time data analytics and high transaction processing speeds. It is a go-to database for financial institutions and large corporations that need reliable, scalable database solutions.

Classification by Purpose

Some DBMSs are classified based on their specific uses or performance requirements −

General-Purpose DBMS

A general-purpose DBMS can handle various types of data and support multiple applications and use cases. For example, SQL Server is a general-purpose DBMS used for everything from small business applications to large-scale enterprise systems.

Special-Purpose DBMS

Special-purpose DBMSs are built to meet specific requirements. For instance, some are designed for handling streaming data or specialized analytics. Real-time processing systems, like those used in telecommunications for call records, often rely on specialized DBMSs optimized for rapid data ingestion and retrieval.

Conclusion

In this chapter, we highlighted how a databased can be classified into different categories based on various criteria such as data models, user support, database distribution, cost, and purpose.

We also explored examples such as MySQL, MongoDB, and Oracle Database, understanding their unique features and applications. Each type of DBMS has its own distinct purpose, from supporting a single user on a personal project to managing data for a global enterprise.

Advertisements