Introduction
NoSQL is the fastest growing technology in the current scenario. NoSQL stands for Not Only SQL. It is a whole new way of thinking about databases. It's not SQL and it's not relational. Think about social networking sites like Facebook and Twitter -- having millions of users accumulates Terabytes of data in every single day. As the relational databases may not be the best solution for every situation we are moving towards the use of NoSQL solutions.
Benefits of No SQL
- Easily handles a large volume of data.
- Highly scalable, easily supports scale out and horizontal scaling.
- It doesn't depend on the format of the data. Supports all kinds of data, like structured, semi-structured and unstructured.
- Open-source.
- Well integrated with Object Oriented Programming.
- Very well supported by clouds.
NoSQL Types
Consequently, NoSQL databases are categorized according to the way of storing data and fall under the following categories
- Column-oriented databases
- Graph Databases
- Document Databases
- Key value store
Key value store allows application to store the data in a schema-less way. The data is to be stored in datatypes of programming language. Each value have its key to access it.
Column-oriented databases.
The Column-oriented databases store the data by column rather than row by row. Because of this, it is more easy to scale and update the database at relatively high speed.
Graph Databases
The Graph Databases uses graph structure to represent the data through nodes, edges. In this the elements are interconnected with an undetermined number of relations between them, meaning that every element contains a direct pointer to its adjacent element.
Document Databases
The Document databases are designed for storing, retrieving and manipulating the data. Document databases have structured, semi-structured and large records. It is not necessary that all the records have the same structure but it is necessary that all records have the unique element which is useful to access that record.
Everybody is thinking that NoSQL is a replacement for relational databases.
Fact
NoSQL is not a replacement, it's an alternative way of storing data. In some kinds of applications “NoSQL” is not supported, so relational database is well suited.
Disadvantages
- Lack of maturity
- Not well-supported for highly transactional databases.