Wednesday, May 7, 2014

Difference between SQL and NoSQL database

Key Difference



SQL
NoSQL
Known As
SQL Based database Management System is majorly known as RDBMS or DBMS Systems
Whereas NoSQL database are primarily non-relational database or distributed database
Architecture
SQL Database mainly   architecture surrounded to the Tables
      In Case of NoSQL database there are major four categorization
  • Document base 
  • Key-value pair base 
  •  Graph database 
  • Wide-column Store
Schema
SQL database has its own predefine schema to store structure data
In NoSQL database, there is no predefine schema, here schema is most dynamic element based on the data elements
Scalability
SQL Databases are vertically scalable, means if we want to scale SQL base database, we need to give hardware boost on which the DBMS System is installed. This is where it sometimes goes for the limitation of scalability.
NoSQL database are horizontally scalable, means if we want to scale it, we need to add more nodes and create distribution network based on our own need and required power. This is how it reduce load on the database
Data Retrieval
In SQL based database, to define and manipulate data we can use SQL (Structure Query Language), which is very powerful now a days
In terms of NoSQL database queries are focus on the collection and documents. Sometimes it is called as UnQL (Unstructured Query Language). This is still in the evolution phase, so it is varies from vendor to vendor of the NoSQL database
Systems in Market Place
BigTable
Redis
RavenDb
Classification
     We can classify RDBMS into two major type 
  • Open Source database
  • Close Source database
      We can classify NoSQL DB based on the way of storing data
  • Key-value pair store database 
  •  Graph database 
  •  Document Store 
  •  Column Store 
  •  XML Store
Based Concept
All RDBMS System based on the codes law and ACID Properties
NoSQL database mostly follow “The CAP Theorem”1


Best Fit for


Complex Query Execution
SQL database are best fit for complex queries intensive environment and relative data
NoSQL don’t have standard interface to perform complex queries and the queries themselves not so powerful in NoSQL database
Type of data store
SQL database are best fit for storing Relational data or sometimes Object oriented data
NoSQL database is best fit for hierarchical data and document base data. This type of database is preferred for large data sets
Transaction based application fitness
SQL databases are excellent for heavy duty transaction based data or related application, as it is more stable and mostly satisfied ACID Properties (Atomicity, Consistency, Isolation and Durability).
NoSQL database basically not meant for transaction based application but it’s main objective focus on document based large data sets
Support
Excellent support available for most of the RDBMS vendors
For some NoSQL database we still need to rely on community support


Advantages of SQL Database

  • SQL base RDBMS are excellent in terms of providing atomicity, consistency, isolation and durability
  • It can very easily handle large volume of transaction with high level of accuracy.

Advantages of NoSQL Database

  • NoSQL database generally process data faster. Reason why whatever data store in the NoSQL database dynamic schema is in the form of the directly consumable JSON Object.
  • Simple data model to store data in database
  • Major systems are flexible enough to better enable developers to use the application in ways that meet their needs.
For more on NoSQL Database have a look at Brian's NoSQL presentation. It's funny!


Conclusion

Both the data management techniques are best in what they do. Criticizing any one of them will not help. NoSQL databases are great invention over a period of time in order to store large volume of data along with easy and smooth retrieval.    



The CAP Theorem

Impossible for any shared data system to guarantee simultaneously all of the following three properties:
         Consistency: Once data is written all future read requests will contain data
         Availability: The database is always available and responsive
         Partition Tolerance: if part of the database is unavailable, other parts are unaffected.





11 comments:

rutherford williams said...

AWESOME..

kavyasri said...

Nice article.

Mean stack online training
Mean stack training in hyderabad

Alfred Avina said...

As we know, data warehouse services is the future of the industries these days, this article helps me to figure out which language I need to learn to pursue the future in this field

Prasad said...

The great thing about this post is quality information. I always like to read amazingly useful and quality content. Your article is amazing, thank you for sharing this article.
tata cliq offers
mi offers
swiggy offers
zomato coupons

Anonymous said...

Thanks for Sharing This Article.It is very so much valuable content. I hope these Commenting lists will help to my website
mulesoft online training
best mulesoft online training
top mulesoft online training

rocky said...

Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
python training in bangalore

python training in hyderabad

python online training

python training

python flask training

python flask online training

python training in coimbatore

dhinesh said...

An overwhelming web journal I visit this blog, it's unfathomably amazing. Unusually, in this present blog's substance made inspiration driving truth and reasonable. The substance of data is enlightening.


Full Stack Course Chennai
Full Stack Training in Bangalore

Full Stack Course in Bangalore

Full Stack Training in Hyderabad

Full Stack Course in Hyderabad

Full Stack Training

Full Stack Course

Full Stack Online Training

Full Stack Online Course



pavi said...

I feel really happy to have seen your webpage.I am feeling grateful to read this.you gave a nice information for us.please updating more stuff content...keep up!!


Data Science Training In Chennai

Data Science Online Training In Chennai

Data Science Training In Bangalore

Data Science Training In Hyderabad

Data Science Training In Coimbatore

Data Science Training

Data Science Online Training

Unknown said...

Thanks for provide great informatics and looking beautiful blog, really nice required information & the things i never imagined and i would request, wright more blog and blog post like that for us. Thanks you
DevOps Training in Chennai

DevOps Online Training in Chennai

DevOps Training in Bangalore

DevOps Training in Hyderabad

DevOps Training in Coimbatore

DevOps Training

DevOps Online Training

sharath said...

I wish you all the best. I just discovered the blog when I read one of your older posts. Unfortunately I had to read this post. Hope you can continue the blog soon.
Java Training in Chennai

Java Training in Bangalore

Java Training in Hyderabad

Java Training
Java Training in Coimbatore

ajith said...

thank you for the information

angular js course in chennai

angular course in chennai

angular js online course in chennai

angular js course in bangalore

angular js course in hyderabad

angular js course in coimbatore

angular js course

angular js online course