Skip to content
Studio 3T - The professional GUI, IDE and client for MongoDB
  • Tools
    • Aggregation Editor
    • IntelliShell
    • Visual Query Builder
    • Export Wizard
    • Import Wizard
    • Query Code
    • SQL Query
    • Connect
    • Schema Explorer
    • Compare
    • SQL ⇔ MongoDB Migration
    • Data Masking
    • Task Scheduler
    • Reschema
    • AI Helper
    • Team Sharing
    • Index Manager
    • More Tools and Features
  • Solutions
  • Resources
    • Knowledge Base
    • MongoDB Tutorials & Courses
    • Tool/Feature Documentation
    • Blog
    • Community
    • Testimonials
    • Whitepapers
    • Reports
  • Contact us
    • Contact
    • Sales Support
    • Feedback and Support
    • Careers
    • About Us
  • Store
    • Buy Now
    • Preferred Resellers
    • Team Pricing
  • Download
  • My 3T
search

Studio 3T® Knowledge Base

  • Documentation
  • Tutorials
  • Workshops
Take the fastest route to learning MongoDB. Cover the basics in two hours with MongoDB 101, no registration required.
Start the free course

The Main NoSQL Database Types

Posted on: 20/08/2019 (last updated: 04/08/2021) by Kathryn Vargas

In this post, we’ll walk you through a (very) brief history of NoSQL, then explain the main types of NoSQL databases with examples and use cases for each.

  • The tl;dr History of NoSQL
  • Types of NoSQL Databases

New to MongoDB? Learn the basics in just two hours. Start the free MongoDB 101 course today.

The tl;dr History of NoSQL

The history of NoSQL... starts with SQL.

(It actually stands for “not only SQL”)

Coined in 1998 by Carlo Strozzi, the creator of the open-source relational database Strozzi NoSQL, the first use of the term “NoSQL” had nothing to do with the term as we use it today.

It took a good decade for the term to hit mainstream, thanks to a successful Twitter hashtag which described the then-database advancements at the time. Today, NoSQL databases account for 3% of the database market. And growing.

Non-relational or NoSQL databases were born out of the rigidity of traditional relational or SQL databases, which use tables, columns, and rows to establish relationships across data.

Developers welcomed NoSQL databases because they didn’t require an upfront schema design; they were able to go straight to development. And it’s this flexibility – this “ad-hoc” approach to organizing data – that has arguably been NoSQL’s greatest selling point, which continues to appeal to companies that need to store unstructured or rapidly changing data.

NoSQL Database Types

Some articles mention four main types, others six, but in this post we’ll go through the five main types of NoSQL databases, namely wide-column store, document store, key-value store, graph store, and multi-model.

  • Wide-Column Store
  • Document Store
  • Key-Value Data Store
  • Graph Store
  • Multi-Model

Wide-Column Store

As the name suggests, wide-column stores use columns to store data. You can group related columns into column families. Individual rows then constitute a column family.

Sounds a bit confusing, doesn’t it? Visuals should help. Here’s what an individual row within a column family looks like in Cassandra:

A standard column family in Cassandra

(Source)

A typical column family contains a row key as the first column, which uniquely identifies that row within the column family. The following columns then contain a column key, which uniquely identifies that column within the row, so that you can query their corresponding column values.

To better illustrate, here’s how data in a table would translate to a column family:

Table view vs Column family view

(Source)

Examples of Column Databases

  • Cassandra – Free, open-source
  • HBase – Free, open-source

Use Cases

Column stores offer very high performance and a highly scalable architecture. Because they’re fast to load and query, they’ve been popular among companies and organizations dealing with big data, IoT, and user recommendation and personalization engines.

  • Spotify uses Cassandra to store user profile attributes and metadata about artists, songs, etc. for better personalization
  • Facebook initially built its revamped Messages on top of HBase but is now also used for other Facebook services like the Nearby Friends feature and search indexing
  • Outbrain uses Cassandra to serve over 190 billion personalized content recommendations each month

Document Store

Document store databases use JSON, XML, or BSON documents to store data. You can pretty much fill in a document with whatever data you want. Documents can have different structures, but you can index common fields for faster performance.

Here’s an example of a document in MongoDB:

Example of a MongoDB document

(Source)

Examples of Document Databases

  • MongoDB – Free, open-source (ranked by many as the top NoSQL database to learn and voted by Stack Overflow devs as the the most wanted database for the 4th consecutive year)
  • Couchbase – Free, open-source

Use Cases

  • SEGA uses MongoDB for handling 11 million in-game accounts
  • Cisco moved its VSRM (video session and research manager) platform to Couchbase to achieve greater scalability
  • Aer Lingus uses MongoDB with Studio 3T to handle ticketing and internal apps
  • Built on MongoDB, The Weather Channel’s iOS and Android apps deliver weather alerts to 40 million users in real-time

Thinking of choosing MongoDB?

If you’re considering MongoDB, be productive from day one and download Studio 3T, the most powerful MongoDB GUI available.

Studio 3T logo

Still learning the MongoDB query language knowledge? No problem. Build queries visually by dragging and dropping fields, or use SQL to query MongoDB.

Or if you’re already a pro, enjoy powerful features like query autocompletion, stage-by-stage aggregation editor building, instant code generation, and much more.

Key-Value Data Store

Key-value databases store data in unique key-value pairs, meaning each key is associated only with one value in a collection, like in a dictionary. This makes querying a key-value data store fast because of its simple model. There’s no query language needed. Data retrieval is a simple matter of using get, put, and delete commands.

Examples

  • Redis – Free, open-source
  • Memcached – Free, open-source

Use cases

Key-value data stores are ideal for storing user profiles, blog comments, product recommendations, and session information.

  • Twitter uses Redis to deliver your Twitter timeline
  • Pinterest uses Redis to store lists of users, followers, unfollowers, boards, and more
  • Coinbase uses Redis to enforce rate limits and guarantee correctness of Bitcoin transactions
  • Quora uses Memcached to cache results from slower, persistent databases

Graph Store

Nodes and relationships are the bases of graph databases. A node represents an entity, like a user, category, or a piece of data. A relationship represents how two nodes are associated.

Graph databases use nodes that contain lists of relationship records. These records represent relationships with other nodes, which eliminates the (time-consuming) search-match operation found in relational databases.

The image below shows how a relational database like MySQL works, which use memory-intensive and more complicated join operations to search entire tables to find a match:

In relational databases, JOIN operations need to be used to match primary- and foreign-key columns, which can be operationally costly

(Source)

Compare that to a graph database, which already predetermines relationships based on connected nodes, making queries much faster and more economical.

In a graph database, pre-materialized relationships across nodes make querying much faster

(Source)

Examples of Graph Databases

  • Neo4j – Free, open-source
  • JanusGraph – Free, open-source

Use Cases

Graph databases are great for establishing data relationships especially when dealing with large data sets. They offer blazing fast query performance that relational databases cannot compete with, especially as data grows much deeper.

  • Walmart uses Neo4j to provide customers personalized, relevant product recommendations and promotions
  • Medium uses Neo4j to build their social graph to enhance content personalization
  • Cisco uses Neo4j to mine customer support cases to anticipate bugs

Multi-Model

It’s clear that the four previous NoSQL database types have their respective advantages, which is why the multi-model database has emerged as another popular option in recent years. As its name suggests, a multi-model database combines the capabilities of wide-column, graph, document, and key-value databases. More supported data models within one database means more versatility for you – the end user – in the way you store your data.

Examples of Multi-Model Databases

  • Microsoft Azure Cosmos DB – Pricing starts at $0.25/GB, free Emulator available
  • OrientDB – Free, open source

Use Cases

  • RTE’s Investigations Unit uses OrientDB to establish data connections across various sources for investigative purposes
  • Azure CosmosDB supports Citrix’s Identity Platform, which enables single-sign on for more than 400,000 organizations and 100 million individuals worldwide
  • ASOS uses Azure Cosmos DB to deliver real-time product recommendations and instant order updates for 15.4 million customers

We hope this guide helps you get an idea of which NoSQL database type to choose for your app or project.

And don’t forget – if you’ve already identified MongoDB as the database for the job, get more done and download Studio 3T, available for Windows, macOS, and Linux.


How helpful was this article?
This article was hideous
This article was bad
This article was ok
This article was good
This article was great
Thank you for your feedback!

About The Author

Kathryn Vargas

When she's not writing about working with MongoDB, Kathryn spends her free time exploring Berlin's food scene, playing the drums, learning languages (current mission: German), and hiking.

Article navigation

Related articles

  • What is NoSQL (in 2022)? – A Studio View
  • What’s New in Studio 3T 2021.7 | Incremental migrations, customizable SQL types, and more
  • MongoDB DevOps Checklist: 3 Steps to Secure Your Database
  • MongoDB Database Testing: A Detailed Walkthrough of Best Practices
  • 5 Reasons You Should Install A Local MongoDB Database

Studio 3T

MongoDB Enterprise Certified Technology PartnerSince 2014, 3T has been helping thousands of MongoDB developers and administrators with their everyday jobs by providing the finest MongoDB tools on the market. We guarantee the best compatibility with current and legacy releases of MongoDB, continue to deliver new features with every new software release, and provide high quality support.

Find us on FacebookFind us on TwitterFind us on YouTubeFind us on LinkedIn

Education

  • Free MongoDB Tutorials
  • Connect to MongoDB
  • Connect to MongoDB Atlas
  • Import Data to MongoDB
  • Export MongoDB Data
  • Build Aggregation Queries
  • Query MongoDB with SQL
  • Migrate from SQL to MongoDB

Resources

  • Feedback and Support
  • Sales Support
  • Knowledge Base
  • FAQ
  • Reports
  • White Papers
  • Testimonials
  • Discounts

Company

  • About Us
  • Blog
  • Careers
  • Legal
  • Press
  • Privacy Policy
  • EULA

© 2023 3T Software Labs Ltd. All rights reserved.

  • Privacy Policy
  • Cookie settings
  • Impressum

We value your privacy

With your consent, we and third-party providers use cookies and similar technologies on our website to analyse your use of our site for market research or advertising purposes ("analytics and marketing") and to provide you with additional functions (“functional”). This may result in the creation of pseudonymous usage profiles and the transfer of personal data to third countries, including the USA, which may have no adequate level of protection for the processing of personal data.

By clicking “Accept all”, you consent to the storage of cookies and the processing of personal data for these purposes, including any transfers to third countries. By clicking on “Decline all”, you do not give your consent and we will only store cookies that are necessary for our website. You can customize the cookies we store on your device or change your selection at any time - thus also revoking your consent with effect for the future - under “Manage Cookies”, or “Cookie Settings” at the bottom of the page. You can find further information in our Privacy Policy.
Accept all
Decline all
Manage cookies
✕

Privacy Preference Center

With your consent, we and third-party providers use cookies and similar technologies on our website to analyse your use of our site for market research or advertising purposes ("analytics and marketing") and to provide you with additional functions (“functional”). This may result in the creation of pseudonymous usage profiles and the transfer of personal data to third countries, including the USA, which may have no adequate level of protection for the processing of personal data. Please choose for which purposes you wish to give us your consent and store your preferences by clicking on “Accept selected”. You can find further information in our Privacy Policy.

Accept all cookies

Manage consent preferences

Essential cookies are strictly necessary to provide an online service such as our website or a service on our website which you have requested. The website or service will not work without them.

Performance cookies allow us to collect information such as number of visits and sources of traffic. This information is used in aggregate form to help us understand how our websites are being used, allowing us to improve both our website’s performance and your experience.

Google Analytics

Google Ads

Bing Ads

Facebook

LinkedIn

Quora

Hotjar

Reddit

Functional cookies collect information about your preferences and choices and make using the website a lot easier and more relevant. Without these cookies, some of the site functionality may not work as intended.

HubSpot

Social media cookies are cookies used to share user behaviour information with a third-party social media platform. They may consequently effect how social media sites present you with information in the future.

Accept selected
✕