NoSQL

What is NoSQL?

The term “NoSQL Database” typically refers to a non-relational database. NoSQL may stand for “Non-SQL” or “Not only SQL”. But by considering the features of NoSQL, the most suitable term is “Not only SQL”.

Types of NoSQL databases

There are 4 major types of NoSQL databases.

             1.     Document Database

             2.     Key – Value Database

             3.     Column Family Database

             4.     Graph Database 

      1.     Document Database

In Document databases, data is stored in documents which is similar to JSON (JavaScript Object Notation) objects. Each document may contain pairs of fields and values. Values may belong to the types like strings, integers, booleans, arrays or objects. These databases are horizontally scalable.

The most popular NoSQL database under document databases is MongoDB.

      2.     Key – Value Database

Key – Value database is a simpler type database and each item contains keys and values. A value can only be retrieved by referring the key. In a situation where a large amount of data should be stored but no need to perform complex queries to retrieve them, Key – Value databases may be useful the most. (E.g.:-  use cases)

The most popular NoSQL databases under Key – Value databases are Redis and DynanoDB.

       3.     Column Family Database

Column Family Database is also known as “Wide – Column Database”. This database stores data in tables, rows, and dynamic columns. It is not required to have the same column for each row. That feature provides more flexibility to the Column Family Database. This database is very useful to store large amount of data. It is commonly used to store Internet of Things data and user profile data.

The most popular NoSQL databases under Column Family databases are Cassandra and HBase.  

      4.     Graph Database

In Graph Databases, data is stored in nodes and edges. Information about people, places and things are stored in nodes while information about the relationships between nodes are stored in edges.

The most popular NoSQL databases under Graph databases are Neo4j and JanusGraph.

Comments