A NoSQL database can be called as non SQL or non relational database that provides a way to store and retrieve data modeled in non tabular format.
Why NoSqL?
A traditional database system prefers more predictable, structured data and has been dominating the database industry for the past few years. Nowadays as business grows,social media dominates there is a need
1.support a large number of concurrent users
2.Handle huge amount of semi structured data as well as unstructured data
3.High availability system without any downtime
4.Huge amount of data insertion and population
Hence , Relational databases are unable to meet these new requirements, and enterprises are therefore turning to NoSQL database technology.
RDBMS vs No SQL Database
RDBMS
|
No Sql DBMS
|
It is used to process structured data
|
Its is used for unstructured and semi structured data.
|
It has fixed schema
|
It does not have any predefined schema
|
It is vertically scalable so to manage the increasing load by increase in CPU, RAM, SSD on a single server.Hence it costs higher
|
It is horizontally scalable so to handle the large traffic you can add few commodity servers to support that. So it is cost effective
|
It uses specific language to manipulate data like insert ,update etc
|
Its is based on object oriented APIs
|
It follows ACID properties(Atomicity, Consistency, Isolation, Durability).
|
It folows Brewers CAP theorem(Consistency, Availability and Partition tolerance).
|
Example MySql, Oracle, Sqlite, Postgres and MS-SQL.
|
MongoDB, BigTable, Redis, Cassandra, Hbase, Neo4j etc are popular No SQL databases.
|
Types of No Sql database system
four major types of NoSQL databases emerged: document databases, key-value databases, column based database , and graph databases.
Let’s explain each type.
Document databases:
Document-Oriented NoSQL DB stores and retrieves data as a key value pair but the value part associated with key is stored as a document. Each document is self-contained, which means no schema is required – giving a significant degree of flexibility over the data you have.
Amazon SimpleDB, CouchDB, MongoDB, Lotus Notes are popular Document oriented DBMS systems.
Key-value databases:
Here data is stored in key/value pairs format ,hence it can handle tons of data and heavy load.
These are the most basic type of NoSQL database and very useful for storing fairly basic information, like details about a customer.
Redis, Dynamo, Riak etc are popular key-value store Databases .
Column based database:
Column-based databases stored data into discrete columns instead of using rows.
It doesn’t consume space for a column when its value not exists or null.
Thus it increase speed while querying the data and deliver high performance on aggregation queries like SUM, COUNT, AVG, MIN etc. as the data is readily available in a column.
Graph databases:
A graph database is any storage system that provides index-free adjacency which means that every element contains a direct pointer to its adjacent element and no index lookups are necessary.
Here storage is in graphical format where node represents data and edge describes their relationship to other nodes.
Neo4j, GraphDB etc. are popular Graph Databases.
As enterprises moves to the Digital Economy platform driven by cloud, mobile, social media, and big data technologies – Technical ,operations and development teams need to focus more in building and maintaining web, mobile, and Internet of Things (IoT) applications faster at greater scale. NoSQL is a demanding and the preferred database technology to support these applications.
4 Comments
good info about NO SQL datbase system
ReplyDeleteNice articel
ReplyDeleteVery nice content ,it helped me a lot to clear mindtree interview.Thanks a lot for this content....
ReplyDeleteCongratulation !! Thank u so much for your kind words.
DeletePlease do not enter any spam link in the comment box