The database technology world essentially has two types of databases, SQL and NoSQL. SQL is also referred to as a Relational Database Management System (RDMS), and NoSQL is a Non-Relational database management system. Their differences augment on how they are built, how do they store information and the mainly the type of information they store.
So let’s take an analogy of a phone diary, it stores the phone numbers and addresses in a categorised format, we can say relational databases are like a phone diary.
And non-relational databases are document-oriented, more like a personal file folder, that holds information from the personal address, online presence, holiday preferences, educational qualifications etc…, in the technical world an RDMS system is called SQL and non-relational system is called NoSQL, depending on whether they are written in Structured Query Language (SQL) or not.
For the most part of the century, the RDMS was considered as the most frequently used and dominant model for database management. Since the last 10 years or so the non-relational models are gaining popularity, like ‘Cloud’.
Some advantages of using a Non-Relational model are……
The capability of Elastic Scaling – the ‘Scale Up’ method was generally used for management, where additional servers were purchased as the load increased, rather than the ‘Scale Out’ approach where the distribution of databases across multiple hosts is considered as the load increases. The scaling out method is more economical. While RDMS might not scale out easily on commodity clusters, to take advantage of new nodes, a new breed of NoSQL database is designed to increase transparency.
With the onset of ‘ and internet applications, huge volumes of data is generated and need economic management. A company can thus adopt different NoSQL database systems as they are ‘Open Source’, which have added benefits like, reliability, security faster deployment, and one can have different NoSQL database for different projects like MongoDB, Hadoop, Couch DB etc…,
NoSQL has great ease in implementation, hence you will see it being adopted by most companies like Amazon, BBC, Facebook, Google, all rely on NO SQL Database.
Is there a future for Schema-less data?
Change Management becomes easier with NoSQL database, to an extent of it being non-existent in certain scenarios as there are no model restrictions, as NoSQL stores information in a document database, allowing applications to store information in almost any structure it prefers in a data element.
As a result of this, application changes or Schema changes have a non-complicated approach. A schema is a relationship between tables and fields and in an RBDM the schema needs to be clearly defined before adding any information.
So NoSQL databases are technically Schema-Less, to interpret, it can store documents in any shape, the notion of schema does not disappear, it only shifts the responsibility to maintain the schema to the developer. So we cannot think of Hadoop data source as having no schema.
What essentially Hadoop and NoSQL database allow, is for users to come to the raw data with different schema, which is tolerant to changes.
The rise in NoSQL does not mean an end of SQL databases, there is no competition between the two. Both are suitable for specific cases and will continue to grow in the future.