What is a non-relational database

Definition
A nonrelational database is modeled by means other than the tabular system used in the relational database. One of the main advantages of the non-relational database is that it can easily incorporate and store all types of Big Data, including unstructured and semi-structured data. The design is generally simpler and allows users to perform operations faster. As the community grows, nonrelational databases can scale automatically. They are becoming increasingly popular for use with real-time web applications. The most popular emerging non-relational database is called NoSQL.
Most non-relational databases are embedded in websites like Google, Yahoo, Amazon, and Facebook. These websites introduce a ton of new applications every day with millions and millions of users, so they would not be able to handle huge spikes in traffic with existing RDBMS solutions. Since RDBMS can’t handle the problem, they have switched to a new type of DBMS that is capable of handling web-scale data in a non-relational way.
Advantages
- Large volumes of structured, semi-structured and unstructured data.
- Fast iteration and frequent code pushes
- Object-oriented programming, easy to use and flexible.
- Efficient and scalable architecture instead of expensive monolithic architecture
- They scale horizontally and work with unstructured and semi-structured data. Some support ACID transactional consistency.
- Options without schema or with reading schema.
Disadvantages
- A weaker or eventual consistency (BASE) instead of ACID.
- Limited support for joins.
- The data is denormalized, which requires bulk updates (ie, product name change).
- It doesn’t have data integrity built in (you have to do it in code).
- Limited indexing.