Friday, March 1, 2019

What is NoSQL?


NoSQL is an approach of database management system that do not follow all the rules of a relational DBMS which do not rely on the structures like tables, columns ,rows and use more flexible data models.Its stands for “not only SQL” or “No SQL”.
No SQL based systems are typically used in very large databases and to store unstructured data such as user and session data, chat, messaging etc. Some of the notable implementations of NoSQL are facebook’s Cassandra DB ,Google’s BigTable and Amazon’s SimpleDB.
Types of NoSQL databases
  • Document database- Document is pairing each key with a complex data structure .It can contains different key value pairs. It stores self describing JSON ,XML documents .And also it is used for content management and mobile application data handling as well. Couchbase server ,Marklogic ,MongoDB are some of the examples for document database.
  • Key values stores - These are the simplest NoSQL databases that pairs a unique key with an associated value which can be any type of binary object. These are highly effective at scaling applications such as BerkeleyDB ,Redis and Riak.
  • Graph stores- Uses graph structure to map, store and query relationship and to store information about network of data such as social connection. IBM Graph, Neo4j and Titan etc.
  • Wide-column stores - Organize data tables as columns instead of rows .It group columns of related data together.Wide-column stores can query large data volumes faster than conventional relational DB. Google Big table,Cassandra can be taken as the examples for wide-column stores.
Benefits of NoSQL
  • Scalability-Its a distributed scale-out architecture which makes easy to add or reduce the capacity quickly.
  • Flexibility- Object Oriented programming that is easy to use and flexible.Its a simpler interaction between the application and the DB and faster more agile development.
  • Performance-Enables organizations s to continue to deliver reliable faster user experience.
  • High availability- Design to ensure high availability and reduce the complexity with the RDBMS architecture.It uses masterless architecture to avoid node failures by distributing data equally among multiple resources.

No comments:

Post a Comment