Enroll Now!!! and get 10% special Discount on all courses. Limited Time only!!!

Overview of NoSQL in BigData

Last updated on Tue 17 Mar 2020




In this digital world, data is growing very fast and has become more complex in terms of volume, variety, velocity in nature. Today, the world needs databases to be able to store and process big data effectively. There is a demand for high-performance while reading and writing operations are executed. This effects in large scale and high concurrency applications, such as search engines, Facebook, Amazon hence the traditional database limits itself for such complex requirements, therefore various types of non-relational databases that are commonly referred as NoSQL (Not only structured query language) databases. Their primary advantage is they handle unstructured data. ACID is not the major concern, NoSQL uses BASE instead which works up on eventual consistency.

What is ACID and BASE in term NoSQL?

The RDBMS strongly follow the ACID (Atomicity, Consistency, Isolation, and Durability) properties; on the other hand NoSQL databases follow BASE (Basically Available, soft State, eventual consistency) principles.

Characteristics of NoSQL:

Elastic scaling: In NoSQL, new nodes can be added or removed from the data layer without application interruption.

Bigger Data Handling Capability: Because of its elastic nature of handling, Big Data becomes easier with better performance.

Lesser Server Cost: RDBMS rely on expensive proprietary servers and storage systems whereas NoSQL databases uses clusters of cheap commodity servers which reduces the cost per gigabyte in NoSQL.

No Schema or Fixed Data model: NoSQL does not require a rigid database schema to be defined. Here, the data can be inserted in database without first defining a database schema. It also allows changed format or data model, without application disruption. This provides flexibility in NoSQL.

Integrated Caching Facility: in order to increase data output and performance, NoSQL stores cache data in system memory.

Handling relational data:

NoSQL databases cannot handle joins in queries. Hence, to handle relational data, the database schema needs to be designed differently. Three main techniques for handling relational data in a NoSQL database are as follows:-

  • Multiple queries: Instead of retrieving the data with one query, one can use several queries to get the desired data. NoSQL queries are comparatively faster than SQL queries.
  • Caching/replication/non-normalized data: In this approach, it stores actual foreign values instead of storing foreign keys in the model’s data.

For example: Each blog comment includes the username instead of user id, this provide easy access to the username without another lookup. Whenever you change a username, this will be updated in many places in the database itself. Hence, this approach works better when read operations are less than write operations.

  • Nesting data: In MongoDB it is possible to put more data in a smaller number of collections.

For example: In a blogging application, storing comments within the blog post is recommended so that with a single retrieval you get all the comments. Thus, this approach stores all the related data in a single document.

NoSQL over RDBMS in below areas:

  • It supports semi-structured data and volatile data.
  • It supports flexibility in schema.
  • Read/Write operations have very high throughput.
  • Horizontal scalability is achieved.
  • It supports Big Data in Terabytes/Petabytes.
  • It also supports for Analytic tools on top of Big Data.
  • No need of expensive hardware machines.
  • Memory caching increases the performance of queries.

Drop us a Query

+91 97846 54326

Available 24x7 for your queries