- A Database, which stores data in a format different from relational databases, hence is known as NoSQL Database.
- NoSQL- “not only SQL” which pertains to the fact that either the database can store and manage data using “no SQL” at all.
- It can work in a combination that combines the flexibility of the newer method (NoSQL) with the strength of the traditional relational system (SQL).
- In NoSQL database, there are four types:
-
- Key value NoSQL database
- Document NoSQL database
- Column family NoSQL database
- Graph base NoSQL database
Key value NoSQL database :
- In NoSQL database this is the simplest type.
- In this type, the data is stored in the form of key/value pairs.
- The value can be a JSON, BLOB (Binary Large Objects), string, etc.
- It Stores maintain data as pair consisting of an index key and a value.
- The value in a key-value store can be anything: a string, a number, but also an entirely new set of key-value pairs encapsulated in an object.
Document NoSQL database :
- In this, the values are stored in structured documents like XML or JSON, and it is an extension of the simplicity of Key-Value stores.
- In object-oriented software, Document stores make it easy to map Objects.
- It does not support relations and allows us to store complex data in document formats (JSON, XML etc.).
- There is no relational integrity, and Each document in the document store is independent.
- It can be used for all use cases of a KV store database, and also data in each document can be in a different format.
Column family NoSQL database :
- It is developed to store and process very large amounts of data distributed over many machines.
- The columns are arranged by column family, and they point to multiple columns.
- It becomes high performance on aggregation queries like SUM, COUNT, AVG, MIN, etc.
Graph base NoSQL database :
- It is the storage of graph–oriented data structures and is used for specific purposes.
- A graph database is any storage system that provides index-free adjacency.
- No index lookups are necessary, and every node contains a direct pointer to its adjacent element.
- There is no need to define the types of edges and vertices because it usually comes with a flexible data model.