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
|
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
|
We can classify NoSQL DB based on the way of storing
data
|
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.
2 comments:
AWESOME..
Nice article.
Mean stack online training
Mean stack training in hyderabad
Post a Comment