A database is a software component that’s critical in just about every single modern application. There are myriad databases in use, and their number keeps growing. Understanding the major categories of databases will help you choose the one that’s right for you.

For the purposes of this article, we’ll use the terms “database” and “database management system” (DBMS: software that enables users to access, interact with, and manipulate a database) interchangeably.

This article provides a brief overview of databases—what they are, what they’re used for, and how to determine which one to use.

TABLE OF CONTENTS

What Is a Database?

A database management system is software to store, organize, manage, and retrieve data. Think of it like a group of massive spreadsheets that organize information in a structured format. There are various kinds of databases, and each is typically housed on servers, whether located in a data center or—as is increasingly the case—virtually, on cloud infrastructure.

Databases come in a variety of shapes, sizes, and flavors, each designed to do different things with different kinds of data. MongoDB, for example, is a general-purpose, document-based, distributed database built for modern application developers.

What Type of Information Is Stored in a Database?

Databases are used in most modern applications, whether they are on your phone, on your computer, or on the internet. They store much of the data an application needs to function, keeping it organized and accessible to users.

If you were building an e-commerce app, some of the information stored in your database might include:

  • Customer data, like usernames, email addresses, and preferences.
  • Business data, like product colors, prices, and ratings.
  • Relationship data, like the locations of stores with a specific product in stock.

How Many Types of Databases Are There?

There are nearly a dozen different types of databases in use today. Some of the more commonly used types of database management system (DBMS) include the following:

  • Hierarchical Databases

    Originally developed in the 1960s, hierarchical databases look similar to a family tree. A single object (the “parent”) has one or more objects beneath it (the “child”). Child records can’t have more than one parent. In exchange for this rigid and complex navigation structure, hierarchical databases also offer high performance, as there’s a quick querying time to find what you need. The Windows Registry is a well-known example of a hierarchical database.

  • Relational Databases

    Relational databases are quite popular, even though it was a system designed in the 1970s. Also known as relational database management systems (RDBMS), relational databases commonly use Structured Query Language (SQL) for operations such as creating, reading, updating, and deleting data.

    Relational databases store information in discrete tables, which can be joined together by fields known as foreign keys. For example, you might have a User table which contains information about all your users, and join it to a Purchases table, which contains information about all the purchases they’ve made. MySQL, Microsoft SQL Server, and Oracle are types of relational databases.

  • Non-Relational Databases

    Non-relational database management systems are commonly referred to as NoSQL. They matured as a response to the needs of increasingly complex modern web applications, and their varieties have proliferated over the last decade.

    Sometimes, when we say NoSQL database management systems, we mean any database that does not use a relational model. Different NoSQL database management systems store information in different ways. For example:

    • Data can be stored in a structured document, similar to JSON (JavaScript Object Notation). MongoDB is a popular document database.
    • Data can be in a key-value format which maps a single attribute (its “key”) to its value. Redis and Riak KV are some examples, and they’re typically used for simple one-to-one relationships, like associating users with preferences, caching, or keeping track with a counter.
    • A graph datastore uses nodes to represent objects and edges to describe the relationship between them. Neo4j is one such example.

    NoSQL database management systems differ from RDBMS in that they can be schema-agnostic, allowing unstructured and semi-structured data to be readily stored and processed. NoSQL databases come in many varieties designed for different needs and use cases. Compared to relational databases, they’re highly performant for large sets of data and better at scaling up to meet increased demands.

    For more information on the differences between RDBMS and NoSQL, see this article.

Relational vs Non-Relational Databases

Different types of databases have different strengths and weaknesses. Since RDBMS systems are so popular, it is worth exploring what advantages a non-relational database like NoSQL has over them.

RDBMS Pros:

  • they are ubiquitous, having acquired a steady user base since the 1970s
  • they are highly optimized for working with structured data.
  • they provide a stronger guarantee of data normalization
  • they use a well-known querying language through SQL

NoSQL databases have emerged as a compelling alternative as they boast the following advantages:

  • NoSQL databases are much more flexible and easier to manage. Many RDBMSs cannot easily work with unstructured or even semi-structured data. For analytics, IoT payloads, andor even evolving application needs, RDBMS’s adherence to a strict schema makes them inflexible.
  • NoSQL database are fault-tolerant, and data is eventually consistent (though it can vary based on the configuration settings of each database)
  • NoSQL databases are highly performant for large sets of data and better at scaling up to meet increased demands. RDBMSs are not typically designed for horizontal scale, and can suffer under massive data sets.
  • Their high availability makes them ideal in situations where data needs to be served across multiple platforms.

visualization of the distinction between relational vs non-relational databases

For more information on the differences between these two database types, see this article.

While the venerable RDBMS is not likely to disappear anytime soon, the clear development, functional, and total cost of ownership advantages of NoSQL databases—especially the document-oriented Database-as-a-Service variety in the cloud—will only increase their popularity and penetration in the years ahead.

Because they can handle ever-changing data formats, NoSQL databases are becoming a more popular alternative for teams that want to be able to iterate quickly. Platforms like MongoDB Realm leverage NoSQL’s scalability to easily facilitate synchronization between different devices, like mobile, desktop, and cloud.

How Is MongoDB Different From Other Types of Databases?

Because data doesn’t need to fit within the confines of a strict relationship, MongoDB can operate as a general data store. This provides several advantages over other types of databases.

Data stored in MongoDB maps to a flexible schema. If your application’s needs change, you can easily restructure how your data is stored. This allows you to iterate much more quickly on new ideas. Since MongoDB also provides schema validation, you have the ability to lock down your schema as much or as little as you'd like. This means that it can handle whatever your data structuring needs might be—or might be required in the future.

In a relational database, relationships between data in different tables can be achieved through joins, and within hierarchical databases, relationships across nodes is impossible. MongoDB provides the ability to join documents through operations that match a variety of needs, such as $lookup, as well as through references.

Lastly, unlike many other NoSQL databases, MongoDB supports transactions, which guarantees atomicity of reads and writes to multiple documents. When you need to query data from multiple documents, you can rest assured knowing that the queries can be combined into a single transaction.

MongoDB was designed from the ground up to support applications in an internet age, where users can manipulate data from any number of places. Its out-of-the-box support for replication, load balancing, and aggregation make it a versatile part of modern software architecture. It can even offer schema suggestions to help you make choices that optimize for MongoDB’s document data model.

This blog post also outlines some more advantages in choosing MongoDB.

What Are the Advantages of MongoDB Atlas?

MongoDB Atlas is a multi-cloud document database service. It’s an on-demand fully managed service run by a team of MongoDB sysadmins, so that you can focus on what matters: your own application. MongoDB Atlas database hosting is available on various cloud providers, such as AWS, Microsoft Azure, and Google Cloud Platform, which ensures that it can serve your needs no matter where you are.

Conclusion

There are many different types of databases available, and each has their own advantages and disadvantages, depending on the type of data they are storing. Before deciding which database is right for your project, it’s crucial to get a broad understanding of how your data relates to your application, and more importantly, how you anticipate your data to evolve in the future.

Using a flexible NoSQL database like MongoDB can satisfy the needs of both a traditional, highly structured data set as well as a dataset that requires a flexible schema to allow for changing app requirements. Since NoSQL databases were designed with scaling in mind, they can also grow alongside your business needs.

Ready to get started?

Get your free cloud database with MongoDB Atlas.

FAQ

What are the three main types of databases?

There are three database types: hierarchical, relational, and non-relational. Each of these data management systems have their own strengths and weaknesses, depending on the type of application they support.

What type of database is MongoDB?

MongoDB is a document-based, NoSQL database.

How is MongoDB different from other types of databases?

MongoDB stores data as BSON documents. BSON is a binary representation of JSON (JavaScript Object Notation). The document model grants it the ability to store data that adheres to a user-defined format, while being flexible enough to evolve as an application’s needs change.

What are the types of database servers?

For relational databases, servers such as Oracle, MySQL and PostgreSQL are most common. NoSQL databases include MongoDB, ElasticSearch and Cassandra.

How many types of relationships exist in database designing?

Data can have one of three types of relationships: one-to-one, where one record matches to another; one-to-many, where one record can match with any number of other records; and many-to-many, where multiple records can have relationships with each other.

What are the types of database software?

There are six main types of database software, each of which organizes data differently. Hierarchical, object-oriented, and relational database software is more structured, while NoSQL, columnar, and graph databases are more unstructured.

Which type of database is most commonly used?

Due to its historical legacy, relational databases are more common in software applications.
Due to its historical legacy, relational databases are more common in software applications. However, the popularity of non-relational databases is currently on the rise.

What type of information is stored in a database?

Most data which is essential to your business logic is stored in a database. This can include everything from usernames and passwords to product names and their prices.

What type of consistency do relational databases typically provide?

Relational databases typically provide strong consistency, also known as immediate consistency. Non-relational databases typically provide eventual consistency.

How many types of databases are there?

There are a variety of database types. The three primary types are relational databases, non-relational databases, and hierarchical databases.

What are the four most common categories of NoSQL databases?

A NoSQL database can be a key-value database, a document database, a wide-column store, or a graph database.

What are the three main categories of databases?

There are relational databases, non-relational databases, and hierarchical databases.

What are the three types of relationships in a database?

The three types of data relationships are one-to-one, one-to-many, and many-to-many.

What are the major types of databases?

The more commonly used types of databases are:

  • Hierarchical databases.
  • Relational databases.
  • Non-relational databases.