Class 8 SQL vs NoSQL Database Differences - Alwynblake/seattle-javascript-401n12 GitHub Wiki

SQL vs NoSQL Database Differences

*SQL  ( structured query language ) databases represent data in form of tables which consists of n number of rows of data whereas NoSQL databases are the collection of key-value pair, documents, graph databases or wide-column stores which do not have standard schema definitions which it needs to adhered to. * In NoSQL database, queries are focused on collection of documents. Sometimes it is also called as UnQL (Unstructured Query Language).  *NoSQL database fits better for the hierarchical data storage as it follows the key-value pair way of storing data similar to JSON data. NoSQL database are highly preferred for large data set (i.e for big data). 

MS-SQL Server Express Edition:

*It is a user friendly database that has good stability, reliability and scalability with support from Microsoft. The following are some of MS-SQL benefits and strengths: *Disaster Recovery: It has good disaster recovery mechanism including database mirroring, fail over clustering and RAID partitioning. *Cloud back-up: Microsoft also provides cloud storage when you perform a cloud-backup of your database.

## Oracle Express Edition: *Easy to Upgrade: Can be easily upgraded to newer version, or to an enterprise edition. *Wide platform support: It supports a wide range of platforms including Linux and Windows *Scalability: Although the scalability of this database is not cost effective as MySQL server, but the solution is very reliable, secure, easily manageable and productive. NoSQL Database Example:

MongoDB:

 MongoDB stores data in JSON like documents. It is non-relational database with dynamic schema. MongoDB benefits and strengths: *Speed: For simple queries, it gives good performance, as all the related data are in single document which eliminates the join operations. *Scalability: It is horizontally scalable i.e. you can reduce the workload by increasing the number of servers in your resource pool instead of relying on a stand alone resource. *Manageable: It is easy to use for both developers and administrators. This also gives the ability to shard database *Dynamic Schema: Its gives you the flexibility to evolve your data schema without modifying the existing data