Unlike what it sounds Nosql means “not only sql” since the goal is not to reject SQL but, rather, to compensate for the technical limitations shared by the majority of relational database implementations.
NoSQL is a whole new way of thinking about a database. NoSQL is not a relational database.
nosql is becoming prominent, for the simple reason that relational database model may not be the best solution for all situations
Best way to think of nosql db is distributed non-relational db with very loose structure or no structure
NoSQL databases are finding significant and growing industry use in big data analytics and real-time web applications
In 2000,Eric Brewer outlined the now famous CAP(Consistency, Availability and Partitioning) theorem,
which states that both Consistency and high Availability cannot be maintained when a database is Partitioned across a fallible wide area network.
so to get all consistency availability over partitions nosql comeback to deal with data explosion
other imp advantages along with providing Consistency, Availability and Partitioning are as below
- Horizontal Scalability
- More flexible data model and
- Performance advantages
Typically nosql db would be preferred but not limited in the following scenarios
- Real time web applications
- Unstructured/”schema less” data – usually, you don’t need to explicitly define your schema up front and can just include new fields
- Huge data (TBs)
- When scalability is critical