why bother use other database if MongoDB can handle web scale?

Relational databases weren't built for web scale. Mongo DB handles web scale. You turn it on and it scales right up.





Is this question implying there is no reason to ever use a traditional RDBMS like MySQL? While NoSQL stores like Mongo definitely have their place in todays world, I would argue that traditional SQL systems are still preferable for certain use cases...mainly where RELATIONSHIPS matter.

Remember that NoSQL systems like Mongo are all about denormalizing data. This means data is just dumped into collections without any relational mappings to other tables. This is amazing when your schema is going to evolve a lot over time and when you are prioritizing faster read operations...but can get very complicated when trying to perform complex updates on multiple collections etc as there is no sense of relationships...

For example, lets say you have a blog site with different users. These users post articles that other users can like, comment, etc. While dumping everything related to a post (comments, replies, likes) into a single nested document will avoid unnecessary joins it can also cause headaches when trying to update nested fields etc. It's also harder to manage stale data like when a user updates their username or email you have to retroactively scan for references to that same entity in the collection...

Sometimes normalized data just makes sense...while you can still do anything you want using MongoDB...things can get unnecessarily messy depending on how you want to access your data.


Ask yourself 2 questions when deciding to use MongoDB vs MySQL:

1) How will your application access data? More reads than writes etc?

2) How should the relationships be managed by your database system? Does it make sense to store everything in a nested collection for faster reads or is keeping things logicallt separated into different tables going to save you in long run?


It's not one vs the other...its how your specific application needs to use the data...


I agree. NoSQL clearly the future.