5.A) What is NoSQL? Explain the CAP Theorem. – 10 Marks
Answer:-
NoSQL refers to a class of database management systems that don’t rely on the traditional relational database model (tables, rows, and SQL for querying).
NoSQL databases are designed for flexibility, scalability, and high-performance data storage.
CAP Theorem
In distributed systems, the CAP Theorem states that among Consistency (C), Availability (A), and Partition Tolerance (P), only two can be fully achieved simultaneously. Here’s a breakdown of these principles:
1. Consistency (C)
Consistency ensures that all copies of the data reflect the same value at any given time, similar to traditional databases. In distributed databases, consistency means that:
- All nodes observe the same data simultaneously.
- Changes made in one partition (e.g., sales data updates in a specific showroom) should immediately reflect in other related partitions and tables using that data.
2. Availability (A)
Availability ensures that the system provides a response to every request, even in the event of a failure. This means:
- If one partition becomes inactive, other copies of the data in active partitions remain accessible.
- Distributed systems use replication to maintain availability, ensuring that if one node fails, another can handle requests.
- Without replication, network failures may result in data unavailability in specific partitions.
3. Partition Tolerance (P)
Partition tolerance ensures the system continues functioning even when there is a network failure or communication breakdown between parts of the system. It involves:
- Dividing a large database into smaller partitions while ensuring they operate independently without disrupting overall functionality.
- Specified procedures allow operations to continue seamlessly across these partitions, even when nodes fail to share data temporarily.