Engineer bro!

Thu May 19 2022 (1 year ago)

Engineer by mistake!

I am a software engineer by passion

What is a Database Management System ?

A DBMS is a software which lets you define schema of your data, organise the data, manipulate and retrieve the data.

DBMS is made up of four words:

  1. Data - fact that can recorded or stored

    • e.g. person name, gender, age, etc

  2. Database - collection of logically related data

    • e.g. book database in library, student database in college

  3. Management - manipulation, searching and security of the data

    • e.g. finding a book with it’s name, finding student with highest mark

  4. System - program or tools used to manage database

    • e.g. SQL, Oracle, etc

Applications of DBMS

There are numerous application of DBMS which is not possible to write down here, listing few of them:

  • E-Commerce

  • Online Business

  • Learning Management Platform

  • Railway ticket management system

  • etc

Types of DBMS

1. Relational DBMS

A relational database is a digital database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system. Many relational database systems have an option of using the SQL for querying and maintaining the database.

E.g. -> Microsoft SQL Server, Oracle Database, MySQL and IBM DB2.

2. NoSql DBMS

A NoSQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed since the late 1960s, but the name "NoSQL" was only coined in the early 21st century, triggered by the needs of Web 2.0 companies.

E.g. -> MongoDB, CouchDB, CouchBase, Cassandra, HBase, Redis, Riak, Neo4J

3. Cloud DBMS

Cloud DBMS is a kind of DBMS in which an organization contracts with a cloud services provider through a fee-based subscription service. The service provider offers a variety of real-time operational, maintenance, administrative, and database management tasks to the end user. The database runs on the service provider’s infrastructure. This usage model typically includes automation in the areas of provisioning, backup, scaling, high availability, security, patching, and health monitoring. The DBaaS model provides organizations with the greatest value, allowing them to use outsourced database management optimized by software automation rather than hire and manage in-house database experts.

E.g. -> AWS Dynamodb, MongoDB Atlas, Redis

4. Columnar DBMS

A column-oriented DBMS or columnar DBMS is a database management system that stores data tables by column rather than by row. Benefits include more efficient access to data when only querying a subset of columns, and more options for data compression. However, they are typically less efficient for inserting new data.

E.g. -> Apache Cassandra, DataStax, Microsoft Azure Cosmos DB, and ScyllaDB

5. Wide Column DBMS

A wide-column store is a type of NoSQL database. It uses tables, rows, and columns, but unlike a relational database, the names and format of the columns can vary from row to row in the same table. A wide-column store can be interpreted as a two-dimensional key–value store.

E.g. -> Apache Cassandra, ScyllaDB, Apache HBase, Google BigTable, and Microsoft Azure Cosmos DB

6. Object Oriented DBMS

An object database is a database management system in which information is represented in the form of objects as used in object-oriented programming. Object databases are different from relational databases which are table-oriented. Object–relational databases are a hybrid of both approaches.
E.g. -> GemStone, ObjectDB, ObjectDatabase++, ObjectStore

7. Key-Value DBMS

A key–value database, or key–value store, is a data storage paradigm designed for storing, retrieving, and managing associative arrays, and a data structure more commonly known today as a dictionary or hash table.

E.g. Redis, CouchDB, MongoDB

8. Hierarchical DBMS

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.
E.g. -> IBM Information Management System (IMS) and RDM Mobile

9. Document DBMS

A document-oriented database, or document store, is a computer program and data storage system designed for storing, retrieving and managing document-oriented information, also known as semi-structured data.
E.g. -> DocumentDB, MongoDB, CouchDB, ArangoDB

10. Graph DBMS

In computing, a graph database is a database that uses graph structures for semantic queries with nodes, edges, and properties to represent and store data. A key concept of the system is the graph.
E.g. -> Neo4j, OrientDB

11. Time Series DBMS

A time series database is a software system that is optimized for storing and serving time series through associated pairs of time and value. In some fields, time series may be called profiles, curves, traces or trends.
E.g. -> InfluxDB, Prometheus, RRDtool, TimeScale, Timestream

Advantages of DBMS

Reduce data redundancy(duplication)

Suppose you have a database of college which has multiple departments and faculties. A faculty can teach into multiple departments(e.g english teacher). If every department has its own faculty database then the data of faculty will be duplicated who teaches into multiple departments.

Reduce data redundancy(duplication)

As you can see above in the picture, DBMS can reduce such redundancy by storing data centrally.

Remove data inconsistency

Data inconsistency occurs when you have multiple copies of same data and they are not in sync(equal). Suppose mobile number of a teacher changed and only one department has information about it. The department which has new mobile number can update mobile number in his database, but what for other. They still have old mobile number and they end up having outdated data.

When you use DBMS then you get rid of changing data at multiple places, just store then centrally and update there. Whoever needed the data can retrieve it from central store.

Data Inconsistency

Data Isolation

When data is stored in multiple departments in multiple formats, then it become difficult to update data. DBMS solves that problem that how to feed changes to other users concurrently.

Guaranteed Atomicity

Atomicity means that all transactions must follow “all or nothing” rule. Each transaction is said to be atomic. If one part of the transaction fails, the entire transaction fails.

Consider a case of transferring amount from account A to account B.
Guaranteed Atomicity

Person A has balance 2000 and person B has balance 1000. Sum of both accounts balances is 3000. Person A needs to transfer 500 to B, after the transaction sum of both accounts should be 3000.


Suppose A sent 500 to B and B did not receive 500, then transaction will be considered as fail and A will have 2000 in his account. Transaction should success only if A sent 500 and B received 500.

Backup & Restore

DBMS provides facilities of backup and restore. If your database crashed while operating you can fill up the database again from backup DB.

@dsabyte database Backup & Restore

Conclusion

In this article we have seen types of DBMS, advantages of DBMS etc.

Thanks for your reading.

Bank vector created by pch.vector - www.freepik.com

SoftwareDatabaseSoftware Engineering

© 2021 dsabyte. All rights reserved