It is a database that has no strong relationships defined between entities, so all joins need to happen at the application layer. These databases, due to the fact that they lack of ACID transactions favour eventual consistency. There are different types of NoSQL Databases:
Reasons to use NoSQL
- Flexible structure o data
- Non-relational data
- No complex joins
- Loads of data (TB or even PB)
- Data intensive workload
- High throughput
Sample data well-suited for NoSQL:
- Rapid ingest of clickstream and log data
- Leaderboard or scoring data
- Temporary data, such as a shopping cart
- Frequently accessed (‘hot’) tables
- Metadata/lookup tables