TYPES OF DATABASE MANAGEMENT SYSTEM

TYPES OF DATABASE MANAGEMENT SYSTEM

  • 7 months ago
  • EZEABIKWA JACINTA

Introduction

There is a lot of confusion concerning the types of database management systems (DBMS).Most people mistake this for different softwares/products such as Postgres, MySQL, Microsoft Access, Microsoft SQL Server, etc. The aim of this article is to clearly list and explain the types of DBMS and give examples of each.

Table of Content

We  will be discussing the following topics below;

        i.What is a database?

        ii. What is a Database Management System (DBMS) ?

        iii. Types of Database Management System (DBMS)

        iv.  Benefits of Using a DBMS

        v.  Common Challenges /Drawbacks of DBMS

What is a database?

A database is an organized collection of structured information, or data, typically stored electronically in a computer system.A database is usually controlled by a database management system (DBMS). A database is set up for easy access, management, and updating.

Computer databases typically store aggregations of data records or files that contain information, such as sales transactions, customer data, financials, and product information.

 

What is a Database Management System (DBMS)?. 

A Database Management System (DBMS) is a software application that helps in the management of databases by providing a systematic way to create, store, update, and retrieve information. The primary objective of a DBMS is to achieve data consistency, increase efficiency, and ensure security while enabling easy access for users. A DBMS makes it possible for end users to create, protect, read, update, and delete data in a database.

A database management system consists of several key components that work together to facilitate storage, retrieval, and manipulation of data. These components are:

  • Data
  • Database Engine
  • Database Schema
  • Data Definition Language (DDL)
  • Data Manipulation Language (DML)
  • Data Control Language (DCL)
  • Transaction Management
  • Concurrency Control

Types of Database Management System (DBMS)

 Relational Database Management System (RDBMS);

RDBMS is sometimes referred to as a SQL DBMS and is adaptable to most use cases. RDBMS presents data as rows in tables with a fixed schema and relationships defined by values in key columns. Some examples of RDBMS products are PostgreSQL, Oracle, MySQL, Microsoft SQL Server,and IBM Db2.

 NoSQL Database Management System:

NoSQL DBMSs are non-relational databases that are designed to handle large volumes of unstructured or semi-structured data. They are characterized by their ability to scale horizontally, provide high performance and availability, and support flexible data models. NoSQL DBMS may require more application involvement for schema management. There are four types of NoSQL database systems: document databases, graph databases, key-value stores, and wide-column stores. Each uses a different type of data model, resulting in significant differences between each NoSQL type. 

  • Document databases store semi-structured data and descriptions of that data in document format, usually JavaScript Object Notation (JSON). They're useful for flexible schema requirements such as those common with content management and mobile applications. Popular document databases include MongoDB and Couchbase.
  • Graph databases organize data as nodes (entities) and edges (relationships). instead of tables or documents. Because it stores the relationship between nodes, the graph system can support richer representations of data relationships. The graph data model doesn't rely on a strict schema, and it can evolve over time. These databases are designed to handle complex relationships, querying, and traversals more efficiently than traditional RDBMSs. Graph databases are useful for applications that map relationships, such as social media platforms, reservation systems, or customer relationship management. Examples of popular graph databases include Neo4j, ArangoDB, and GraphDB.
  • Key-value stores are based on a simple data model that pairs a unique key with an associated value. Due to this simplicity, key-value stores can be used to develop highly scalable and performant applications such as those for session management and caching in web applications or for managing shopping cart details for online buyers. Examples of popular key-value databases include Redis and Memcached.
  • Wide-column stores use the familiar tables, columns, and rows of relational database systems, but column names and formatting can differ from row to row in a single table. Each column is also stored separately on disk. As opposed to traditional row-oriented storage, a wide-column store is optimal when querying data by columns, such as in recommendation engines, catalogs, fraud detection, and event logging. Cassandra and HBase are examples of wide-column stores.
  • Hierarchical Database Management System:

  •   A hierarchical database model is a data model in which the data are organized into a tree-like structure. The data are stored as records which are connected to one another through links. A record is a collection of fields, with each field containing only one value. The type of record defines which fields the record contains. .The hierarchical database model mandates that each child record has only one parent, whereas each parent record can have one or more child records. In order to retrieve data from a hierarchical database, the whole tree needs to be traversed, starting from the root node. This model is recognized as the first database model created by IBM in the 1960s.

  • Network Database Management System:

  • A network database is based on a traditional hierarchical database, except it allows each object to have multiple parents instead of a single parent. This allows you to model more complex relationships. Network databases can be represented as a graph instead of a tree structure. The graph is defined by a schema, which is a list of data nodes and the relationships between them. This provides a data structure that, in a regular relational database, can only be accessed by inference. Network databases provide a lot of flexibility, but are still limited to access patterns and design limitations of hierarchical databases. These limitations were later overcome by relational database management systems. Some examples of network database management systems are Ingres Database, TurboIMAGE,Integrated Data Store (IDS), Raima Database Manager,Univac DMS-1100, IDMS (Integrated Database Management System)

  • Object-Oriented Database Management System (OODBMS):

  • An OODBMS is a type of DBMS that allows for the storage and manipulation of complex objects directly in the database. In an OODBMS, data is represented in the form of objects, which are instances of classes and can encapsulate both data and methods.

  • NewSQL Database Management System:

  • NewSQL is a term that refers to a class of modern RDBMSs that aim to provide the same scalability and performance of NoSQL databases while retaining the relational and ACID( atomicity, consistency, isolation, and durability) properties of traditional RDBMSs.  Other typical features of NewSQL system offerings include in-memory capability and clustered database services with the ability to be deployed in the cloud. Examples include CockroachDB, Google Cloud Spanner, MemSQL, NuoDB, Volt Active Data, and YugabyteDB.

  • Time-series Database Management System:

  • Designed specifically to handle time-series data, these databases store and manage data points or events indexed by time. They are useful for applications that process large volumes of time-series data, such as monitoring systems, financial data analysis, and IoT applications. Examples include InfluxDB and OpenTSDB.

  • In-Memory Database Management System (IMDBMS):

  • IMDBMS predominantly relies on main memory for data storage,management and manipulation. By reducing the latency associated with reading from disk, an IMDBMS can provide faster response times and better performance but can consume more resources. Therefore, an in-memory database is ideal for applications that require high performance and rapid access to data, such as data stores that support real-time HTAP (hybrid transactional and analytical processes). Any type of DBMS (relational, NoSQL, etc.) can also support in-memory processing. SAP HANA and Redis are examples of in-memory database systems.

  • Columnar Database Management System (CDBMSS).

  • A columnar database management system stores data in tables focused on columns instead of rows, resulting in more efficient data access when only a subset of columns is required. It's well-suited for data warehouses that have a large number of similar data items. Popular columnar database products include Snowflake and Amazon Redshift.

  • Multimodel DBMS.

  • This system supports more than one database model. Users can choose the model most appropriate for their application requirements without having to switch to a different DBMS. For example, IBM Db2 is a relational DBMS, but it also offers a columnar option. Many of the most popular database systems similarly qualify as multimodels through add-ons, including Oracle, PostgreSQL, and MongoDB. Other products, such as Azure Cosmos DB and MarkLogic, were developed specifically as multi model databases.

  • Cloud DBMS.

  • Built in and accessed through the cloud, the DBMS may be any type (relational, NoSQL, etc.) and a conventional system that's deployed and managed by a user organization or a managed service provided by the database vendor. Popular cloud services that enable cloud database implementation include Microsoft Azure, Google Cloud, and AWS.

Benefits of Using a DBMS

One of the biggest advantages of using a DBMS is that it lets users and application programmers access and use the same data concurrently while managing data integrity.  The DBMS provides a central store of data that multiple users can access in a controlled manner.

Central storage and management of data within the DBMS provide the following:

        i. Data abstraction and independence

        ii. Data Security

        iii.  A Locking mechanism for concurrent access

         iv.  An efficient handler to balance the needs of multiple applications using the same data

         v.  The ability to swiftly recover from crashes and errors

         vi.  Strong data integrity capabilities

         vii.  Logging and auditing of activity

         viii.  Simple access using a standard API 

         ix. Uniform administration procedures for data.

Another advantage of a DBMS is that database administrators (DBAs) can use it to impose a logical, structured organization on the data. A DBMS delivers economy of scale for processing large amounts of data because it's optimized for such operations.

A DBMS can also provide many views of a single database schema. A view defines what data the user sees and how that user sees the data. The DBMS provides a level of abstraction between the conceptual schema that defines the logical structure of the database and the physical schema that describes the files, indexes, and other physical mechanisms the database uses.

Common Challenges /Drawbacks of DBMS

Perhaps the single biggest drawback is the cost of the hardware, software, and personnel required to run an enterprise DBMS, such as SQL Server, Oracle, or IBM Db2. The hardware is usually a high-end server with a significant amount of memory configured, coupled with large disk arrays to store the data. The software includes the DBMS itself, which is pricey, as well as tools for programming and testing and for database administrators (DBAs) to enable management, tuning, and administration.

References

Craig S. Mullins, Tech Accelerator (2024). Database Management System (DBMS). Retrieved from: https://www.techtarget.com/searchdatamanagement/definition/database-management-system

Study Smarter (2024). Database Management System. Retrieved from: https://www.studysmarter.co.uk/explanations/computer-science/databases/database-management-system

Wikipedia (2024). Hierarchical Database Model. Retrieved from: https://en.wikipedia.org/wiki/Hierarchical_database_model

 

TYPES OF DATABASE MANAGEMENT SYSTEM

BY

EZEABIKWA JACINTA
ezeabikwajacinta@gmail.com