NoSQL is a new type and new concept of database management system.
Below are some of the main differences (of course, there are more points of view) between SQL and NoSQL type database.
SQL type database is also called Structured Data or RDBMS and
NoSQL is called Unstructure Data or Document Database.
- Examples of SQL Database - MySQL, PostgreSQL, SQLite
- Examples of NoSQL Database - RavenDB, MongoDB, NDatabase
Concept Started Year
- SQL- Started in 1970s
- NoSQL - Started in 2000s
Figure 1: Numbers of Data handled by SQL and NoSQL Type Database (retrieved from couchbase.com)
The Ability of Handling Large Data
SQL type database will face performance problem when the database becomes large in size.
NoSQL can consistently handle tremendous size of data.
Figure 2: Cost and Performance of SQL and NoSQL Database (retrieved from couchbase.com)
Data Relation Mapping
- SQL type - Require data type mapping into .NET, data relationship needs to bind manually.
- NoSQL type - No data relationship mapping and binding needed. Whole object is stored directly.
Figure 3: Data Structure of SQL and NoSQL Database (retrieved from couchbase.com)
Schema
- SQL - Structure and data types are fixed in advance. To store information about a new data item, the entire database must be altered, during which time the database must be taken offline.
- NoSQL - Typically dynamic. Records can add new information on the fly.
Suggested NoSQL Database for .NET
If you are still using SQL type database for years, you can try to move to the Next Generation of Database - NoSQL. You may want to try the following:
- RavenDB (.NET)
- MongoDB
- NHibernate, Examples, NHibernate Membership Providers
- NDatabase (.NET)
- BrightstarDB (.NET)
- LiteDB - Embedded NoSQL database for .NET
Read More
- Why NoSQL? - couchbase.com
- NoSQL Databases Explained - mongodb.com
- 10 things you should know about NoSQL databases - techrepublic.com
- What is NoSQL? - ravendb.net
- NoSQL - Wikipedia