@DoctorJones said:
Serious question: is Mongo that bad?
It has a history of [url=https://aphyr.com/posts/284-call-me-maybe-mongodb]crappy[/url] [url=https://aphyr.com/posts/322-jepsen-mongodb-stale-reads]behaviour[/url] and even the newest version comes with questionable defaults (for example 'local' read concern, which means a node can return data that hasn't been acknowledged yet and might be rolled back). There are better non-relational data stores around, e.g. RethinkDB.
@blakeyrat said:
Not if your blog has multiple authors, categories, more than one page type, comments, revision history, hit counters-- those are all meaningful relations.
You can find meaningful relations in a lot of (if not most) things. Choice of a data store is more of a question about consistency tradeoffs you can make for increased availability. I'd definitely default to relational DB, though, and only consider other options when there's definite need for them. Non-relational is a huge shift in mindset at least.
@cartman82 said:
NoSQL might scale with traffic, but it doesn't scale in complexity.
Eh, complexity will grow, regardless of relational or not. Non-relational stores are much harder to use correctly, but might just be worth it, because at some point your perfectly relational data with strong consistency can be a thorn in your side and it doesn't really have to.
Not that using relational database immediately means you won't scale, they can handle a lot more than some people give them credit for.
Bit aside, I hate the term "NoSQL" a lot. People sometimes talk way too much about schemas and SQL. PostgreSQL in recent versions can be a decent schema-less document store, too (maybe better than Mongo). With SQL! I know I know, doesn't mean that now, etc.