The relational database (RDBMS) is known to us. But, today, non-relational, “cloud,” or “NoSQL” databases are gaining mindshare as an alternative model for database management. In this article, we’ll look at the key aspects of these non-relational NoSQL databases.
As we saw in the Expertstown article on Oracle Basics, there are definite advantages of going in for relational database management system. Some of the best known RDBMS are:
- IBM DB2
- Microsoft SQL Server
What is NoSQL?
NoSQL can be understood as a movement / concept promoting a type of database that differ from classic RDBMS we saw above. NoSQL may not require fixed table schemas, usually avoid join operations and typically scale horizontally. NoSQL is an umbrella term. One definition of NoSQL goes as ‘class of non-relational data stores that break with a long history of relational databases and ACID guarantees. Data stores that fall under this term may not require fixed table schemas, and usually avoid join operations’. The initial creator of NoSQL movement was Carlo Strozzi. Now it is getting promoted widely by many including open source and cloud enthusiasts.
What is the need for NoSQL?
Well, the current limitations of RDBMS particularly for some web applications, is the cause of NoSQL. A relational database (RDBMS) like SQL can be most easily described as a table-based data system where there is minimal data duplication and sets of data can be accessed through a series of relational operators like joins and unions.
Advantages of NoSQL
- Scaling: With the data load increase, Database Administrators are left with no choice but to increase capacity in the case of traditional RDBMS. Now databases are moving in to virtualised environments. NoSQL design is facilitated by advantage of expanding transparently. Scaling out or Elastic scaling is one of the distinct advantages of NoSQL.
- Big Data: It is not only the transaction and capacity that increases, but also the generation and storage of data. The industrial explosion of big data is astonishing. Managing this voluminous big data with RDBMS is becoming an issue. The volume of data that can be handled by NoSQL systems like Hadoop is more.
- Skill-set requirement: As on date, high end RDBMS systems can be maintained only by trained man power. DBA s or Database Administrators usually do the job of designing, installing the database systems. NoSQL systems are designed usually for simple management. Also, they have flexible data models.
- Cheap: Most of the RDBMS currently used are having expensive proprietary servers and storage systems. Compared to this, the cost per transaction and storage for NoSQL is less.
We see that the leading users of NoSQL are some of the big social networking sites like, Twitter, Facebook, Linkedin, Digg etc., While there may be limitations in its usage compared to classic RDBMS, there is no denying that NoSQL movement is gaining grounds rapidly.