Databases, since time gone, have been based on relational models and SQL layers – that is in terms of commercial applications. This has led to the establishment of a standard such that any commercial RDBMS for an application has to be based on a relational model and be ‘SQL Compliant’.
NoSQL is a database movement which has begun recently. The term refers to non-relational data stores that do not need a fixed schema, and that usually avoid join operations. And quite literally means that NoSQL infrastructure does not have to necessarily be SQL compliant and based on a relational model.
NoSQL was coined by a Rackspace employee by the name Eric Evans (while working on Cassandra) and has since then ‘caught on’ to describe this movement that aims at finding alternative database solutions. It has been the source of a large amount of discussion (as of late) and has started to develop a large following of advocates.
NoSQL advocates do not work on established standards and can be thought of as a ‘rebellion’ to modern SQL compliant/relational database models. These developers experiment in a “real environment”. They focus on several problems but, most importantly, no system is stopped from being developed and deployed because it not “SQL compliant” or not relational.
This movement is based on the concept that database systems are like programming languages – tools designed for a certain problem domain and should be used where appropriate rather than focusing on one model involving SQL – thus NoSQL means ‘Not Only SQL’. Developers who are part of this aim at finding solutions that are different and that are based chiefly on non-relational models.
NoSQL is making people aware that there are other options out there. However this does not mean that NoSQL advocates usage of only non-SQL solutions; rather relational models if appropriate and more useful should be used. Additionally, certain misconceptions have been developed in that some people are marketing it as a ‘one solutions its it all’ system which it isn’t.
Applications like Google’s Big Table, Amazon Dynamo, Cassandra (which is of interest to Digg) are all based on non-relational databases and can be thought of as part of the NoSQL ‘crowd’. Thus NoSQL is just like ‘Alternative Music’. It encourages a developer to look at ‘the other side’ and ‘think outside the box’ to find solutions that are independent from today’s standard. It is through this that mankind at large has progressed and developed – imagine if someone from amongst our early ancestors hadn’t thought of creating the wheel, where would we be?
All in all, NoSQL may be what acts as a catalyst in bringing forward a new era – an era in which databases are based on non-relational databases and in which MySQL and MSSQL are things of the past…
