MongoDB for production? (@Tom Dale and others)


in a recent interview i read the following statement from tom dale " … it ties you into Mongo and no one is seriously using Mongo in production." What is so bad about mongo?

Our company wants to rewrite our crm with ember and we thought mongo might be a good match.



@tellsapfel without a POC (for the very specific set of requirements, and | or business case ) are most statements about explicit relevancy/propriety vague.

But still, considering ember (+other JS MVCs/MVVMs) as consumer of an abstract back-end API (for manipulating resources - retrieving, persisting, updating), and if this it is working with an SQL powered datastore, why it should’t work as well with mongo? (then comes the part about appropriateness/benefits/performance/etc).

I personally think, if you know how to squeeze the most out of what monogdb is offering, go for it! :wink:

I’m using Mongo in production. There’s plenty of people using it in production. Mostly, people hate the marketing. But like, I drink a lot of Monster Energy Drink and I hate the marketing.

Plus, it’s on you if you tie yourself to any particular DB, no matter whether its Postgres or Mongo.

It’s a non-issue with Ember, because it only cares about what JSON is being spit out, not how it gets built. So to get them to work together, it’s as easy as putting primary key: ‘_id’ on your application adapter.

What would be the arguments against using Mongo in production? I admit, I haven’t used it in production yet, but I develop exclusively with it and I like it so much more than any type of SQL

Saying “nobody uses Mongo in production” was obviously a very stupid thing to say. I’ve heard enough horror stories from friends (who will remain nameless to protect company valuations) that have deployed Mongo at scale that I would never personally consider it.

I also have friends who take building distributed systems seriously and MongoDB is a laughingstock to all of them. Mongo is slowly making improvements, and maybe all of their issues are fixed, but I wouldn’t trust my business with it.

There are lots of great writeups about deficiencies in MongoDB. The results of running it with Jepsen are recent and interesting:

Up until recently, clients for MongoDB didn’t bother to check whether or not their writes succeeded, by default: they just sent them and assumed everything went fine. This goes about as well as you’d expect.

I dunno, I’m totally unconvinced. If your entire infrastructure collapsed because of the fridge you got for your data, then you build the thing wrong to begin with. Peoples lives falling apart because of a DB? Sounds crazy. Plenty of people and big companies use it IRL to store their data without losing any sleep over it.

if we have to be honest there are many more mongo deployments in production than ember and mongo is a much more mature project

Like, I totally agree that Mongo has its warts, though, and I’m actually more excited about neo4j, but it’s not gonna kill anybody.