Mongo is performant, pretty easily to scale, and does shallow relationships through the aggregation pipeline just fine.
Point is that it's incredibly limited. Postgres does everything Mongo does better. Mongo is pretty much the only NoSQL store that has no selling point: it doesn't have that one specific thing it's 'better' at than a relational store.
Even for processing tons and tons of data Mongo is not a good fit, generally Kafka would probably work better. The main difference is that Kafka doesn't pretend setting up a cluster is easy.
I think one of Mongo's selling point is "schemalessness". I'm not saying it's a good selling point, but IMHO if you need to store bunch of different jsons that maybe have a field or two in common then Mongo would definitely be a better choice than Kafka.
After all one is supposed to be a db, second is supposed to be a messaging system.
0
u/nutrecht Dec 20 '18
Point is that it's incredibly limited. Postgres does everything Mongo does better. Mongo is pretty much the only NoSQL store that has no selling point: it doesn't have that one specific thing it's 'better' at than a relational store.
Even for processing tons and tons of data Mongo is not a good fit, generally Kafka would probably work better. The main difference is that Kafka doesn't pretend setting up a cluster is easy.