Closed gao-ti closed 2 years ago
No predefine schema, unstructured, varied data structures e.g., key value pairs
It is good for start-ups where flexibility is preferred. They change things often and need changes fast
There is no schema in nosql. It can be difficult to migrate or replicate_
Working with unstructured data
SQL does not allow unstructured data such as key-value pair, graphs, documents
NoSQL databases generally provide flexible schemas that enable faster and more iterative development. The flexible data model makes NoSQL databases ideal for semi-structured and unstructured data There are many options on the cloud https://aws.amazon.com/nosql/
Queries are slower in nosql
Very large data -- hard to keep in one place as in SQL
SQL DB basically require data to be stored in one instance It is not feasible when the data is very large
NoSQL stores data across multiple processing nodes, as well as across multiple servers
The ability to store in one instance makes queries faster, replicating easier/faster, and DB dump/restore as well.
Many join operations. No need for highly efficient queries
Join operations are basically slow in mysql.
There's no join in nosql
We can't migrate the entire company database to nosql, it's not realistic. Also, nosql queries are slower
1. Explanation of the use case
Scalability issues. SQL scales vertically, but NoSQL scales horitzontally.
2. Why SQL is not suitable
SQL needs vertical scaling -- more cpu, more memory to one single db instance. Usually, autoscaling means horizontal scaling, but recently AWS supports vertical scaling as well.
This can be capped due to
3. How NoSQL solves the problem
NoSQL scales horizontally, meaning we can have many DB instances running in parallel.
4. Tradeoffs