posted 10 years ago
Well, that's a pretty open-ended question, which is probably why the answers you've gotten so far have been unsatisfactory.
In general terms, yes, MongoDB is great for structured data (also for semi-structured data). Some pros and cons to consider (with the caveat that I'm painting with a broad brush, and there are exceptions to every rule):
MongoDB over SQL
- MongoDB has a more flexible model (hierarchical documents versus rows/columns only)
- MongoDB is easier to scale horizontally (automatic sharding & built-in async replication, etc.)
- MongoDB schema migrations tend to require less downtime than SQL migrations
- MongoDB really shines when you have a single application using MongoDB as a persistence engine since you can model your schema after the queries you need
- In many cases, MongoDB requires fewer random disk seeks than SQL due to its document structure
SQL over MongoDB
- SQL typically takes much less space on disk due to its static schema
- SQL databases (particularly normalized databases) offer a great persistence layer for sharing between multiple applications
- It's easier to find people who know SQL than MongoDB
- SQL databases scale better vertically
There are probably a good number of other trade-offs, but those are the ones can think of right now.
Hope that helps!