DEV Community

Cover image for Types of NoSQL Data Storages (Part 2)
Nyasha (Nash) Nziramasanga
Nyasha (Nash) Nziramasanga

Posted on

Types of NoSQL Data Storages (Part 2)

Continuing from part 1

Characteristics of NoSQL data storage

  • Often Open Source
  • Non-Relational (NoSQL)
  • Schema-less
  • Horizontally scalable
  • Uses BASE consistency

Types of NoSQL Data Storages

NoSQL uses different data stores to optimise for specific purposes based on the system requirements, below in Table 4 there are 4 categories of NoSQL data stores and examples of vendor software offerings:

1. Key-Value Store

Store data (a value) and apply a label to it (a key) and store it in either in-memory or storage system optimised for fast data retrieval. Used for caching objects in applications.

Example: Redis

2. Document Store

Designed for storage, retrieval, and managing of document-oriented information. Document stores save all information of an object as an instance in the database, instead of spreading data amongst different tables as with relations databases.

Example: MongoDB

3. Wide Column Store

Uses tables, rows and dynamic columns, different to relational databases as each row does not require the same column allowing for horizontal scaling of the database a use case is storing user profiles

Example: Cassandra

4. Graph Database

Stores data as nodes and edges. Nodes store the object data and Edges stores information on the relationship of the nodes. Used to traverse relationships and patterns in data use cases are social networks, artificial intelligence, and a recommendation engine.

Example: Neo4j

The following table below shows the types of NoSQL databases and features associated with them:

Type Performance Scalability Flexibility Complexity
Document Store High Variable High Low
Column Store High High Moderate
Low Kev-value Store High High High High
Graph-based Variable Variable High High

[Part 1] Understanding Non-Relational (NoSQL) Databases (Part 1)

[Part 3] Document Store Database - MongoDB

Top comments (0)