Thursday, February 13, 2014

Relational DB vs NOSQL DB (Basics)



SQL databases are primarily called as Relational Databases (RDBMS); whereas NoSQL database are primarily called as non-relational or distributed database

SQL databases are table based databases whereas NoSQL databases are document based, key-value pairs, graph databases or wide-column stores

SQL databases have predefined schema whereas NoSQL databases have dynamic schema for unstructured data.

SQL databases are scaled by increasing the horse-power of the hardware. NoSQL databases are scaled by increasing the databases servers in the pool (Vertical vs horizontal)

SQL database examples: MySql, Oracle, Sqlite, Postgres and MS-SQL. NoSQL database examples: Oracle NoSQL, MongoDB, BigTable, Neo4j and CouchDb

SQL databases are not best fit for hierarchical data storage. But, NoSQL database fits better for the hierarchical data storage as it follows the key-value pair way of storing data similar to JSON data.

Why NOSQL?
The basic quality of NoSQL is that, it may not require fixed table schemas, usually avoid join operations, and typically scale horizontally.

Data can be inserted in a NoSQL database without first defining a rigid database schema.

Format of data can be changed at any time.
Servers can be added or removed from the data layer without application downtime.

Check out Oracle's NOSQL DB Architecture

No comments:

Post a Comment