NoSQL Database
NoSQL databases refer to databases that provide storage of data that is modeled in a way that is different to the tabular relations used in relational databases. The “No” part of the term is best understood to mean “not only” as opposed to none at all. NoSQL databases may support structured, relational data and SQL-like query languages, but they are not bound to only this method. NoSQL databases are used for Big Data and as such are designed to be fast and scalable.
There are four major types of NoSQL databases:
- Document databases: data is stored in “documents” similar to JSON
- Key-value stores: data values are accessed by keys
- Wide-column stores: data is stored in columns like a two-dimensional key-value store
- Graph databases: data is stored in nodes, edges, and properties
Relational Database | NoSQL Database |
---|---|
Low flexibility, high structure | High flexibility, low structure |
Effective for data storage on a single server | Designed for use across distributed systems |
Single query language: SQL | Query language specific to product |
Examples
- Apache Cassandra (wide-column store)
- MongoDB (document database)
- Redis (key-value store)
Further Resources
- MongoDB (2022) “What is NoSQL?”
- NoSQL (Wikipedia)
- Yegulalp (2017) “What is NoSQL? Databases for a Cloud-Scale Future”