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)
Top comments (0)