Live data from Hacker News

Does everyone hate MongoDB?

blog.serverdensity.com

81–90 of 159 posts

Re: Does everyone hate MongoDB?

#81
post #77
post #69

Earlier quoted context omitted.

This is true, in the Ubuntu packages this is printed to the default log at /var/log/mongodb/mongodb.log. It is also abundantly clear from the documentation. I struggle to understand how one could deploy a new datastore in production without reading the "getting started" level of documentation or looking in the log at some point. The 2GB 32-bit limit of MongoDB seems like a complete non-issue to me. Wed Sep 19 17:29:2…

Normally people look at logs when things go wrong. Do you look at the log anytime something starts successfully and seems to be working? You must spend lots of time looking at logs. This is a message that MUST be displayed on the console when you install the server for the first time. It's too important. Also, you learn a tool before going into production. I never went into "production" with mongodb. All I did was ex…

Do you look at the log anytime something starts successfully and seems to be working?

When I first install something new that I'm going to rely on - yes.

Re: Does everyone hate MongoDB?

#82

I think a lot of the "hating" is a side effect of MongoDB being consistently oversold in terms of its capabilities and architecture. Many people who are not experts on databases discover this the hard way later. If the claims about it were qualified a little better and the limitations acknowledged more openly by its proponents it would help to mitigate this outcome. I am indifferent to MongoDB but I do caution people…

"Oversold" is the key word here. And that's a marketing concept. To dig deeper, the problem has and always will be that MongoDB toes the line between a caching product and a database product, yet 10gen markets it simply as a database product.

MongoDB is flexible and fast, but practically speaking it's a hybrid product that defies simple categorization. That means it must be well understood to leverage it. Ultimately that may also be it's Achilles heel, but in the short term, it's extremely frustrating that 10gen can't embrace this fact. Instead they perpetuate marketing that causes the product to be perceived as flawed by their target audience.

Once you've discovered this, you can use it appropriately (either by overriding the default silent failure to use it as for durable persistence, or only using it for caching or as an eventually consistent store) to reap it's flexibility and speed.

(Largely quoted from my comment yesterday, https://news.ycombinator.com/item?id=4566518.)

Re: Does everyone hate MongoDB?

#83
post #77

Earlier quoted context omitted.

Normally people look at logs when things go wrong. Do you look at the log anytime something starts successfully and seems to be working? You must spend lots of time looking at logs. This is a message that MUST be displayed on the console when you install the server for the first time. It's too important. Also, you learn a tool before going into production. I never went into "production" with mongodb. All I did was ex…

Do you look at the log anytime something starts successfully and seems to be working? When I first install something new that I'm going to rely on - yes.

How do you know that you're going to rely on it if it's new?

I install something new. I kick the tires. It takes a long time until I decide I'm going to rely on it. I'll look at the log at some point, but not necessarily the first time I install something. There are better things to do at that point.

Re: Does everyone hate MongoDB?

#84
post #51

We've been using MongoDB in production for our main content store at Conversocial for over a year now. We've gone from 1.8 to 2.0 to 2.2 and we're happy. We have ~400gb of data, 220 million documents all on Amazon's SSD instances. We have definitely had our moments where we've screamed that we hate Mongo and are going to rip it out. That's normally where we've overlooked a detail of how it works... and we've had this…

At our company we have a much bigger MongoDB dataset in production. I can relate well to your comments, since it is the same stuff that I hear from our developers as they defend Mongo after yet another horrific situation. They have a tough time admitting that Mongo is the problem, and instead always find ways to say that it was their fault. This is such a strange thing for me to observe, but I think that it has to do…

This is an excellent anecdote and one that others should pay attention to, regardless of the technology.

Developers often have confirmation bias for their choices—it's a common human fault. We do it for purchases, life decisions, and software decisions alike. But it's important to watch out for it and be aware when you might be in the thick of your own bias.

A friend of mine (let's call him "me") used Adobe Flex for a relatively large computationally-expensive project, and advocated for it because of many small details and relatively quick learning curve, and ease of UI prototyping. After we got entrenched, we started running into many shortcomings which I (er, my friend) should have realized early on were due to the nature of the platform itself, but I continued to defend Flex because it was my decision and I had put so much time into making it work.

In the end, we realized it wasn't the right fit for this specific job and moved to a more capable platform with fewer issues (aka, "any other platform than Flex").

Before making big decisions, I try to remember that one mistake, and get out of my own way first to look at it from an outside perspective. I try to differentiate when I'm making decisions based on fact, or if I'm just trying to justify patching holes in the titanic. This "looking at the world through [insert technology]-colored glasses" idea is spot on, and everyone—not just those using or debating MongoDB—should be aware of.

Re: Does everyone hate MongoDB?

#85
post #77
post #69

Earlier quoted context omitted.

This is true, in the Ubuntu packages this is printed to the default log at /var/log/mongodb/mongodb.log. It is also abundantly clear from the documentation. I struggle to understand how one could deploy a new datastore in production without reading the "getting started" level of documentation or looking in the log at some point. The 2GB 32-bit limit of MongoDB seems like a complete non-issue to me. Wed Sep 19 17:29:2…

Normally people look at logs when things go wrong. Do you look at the log anytime something starts successfully and seems to be working? You must spend lots of time looking at logs. This is a message that MUST be displayed on the console when you install the server for the first time. It's too important. Also, you learn a tool before going into production. I never went into "production" with mongodb. All I did was ex…

It's also on the download page.

http://www.mongodb.org/downloads

Re: Does everyone hate MongoDB?

#86
post #31

My problems were to do with data-loss and unrecoverable corruption. I didn't write a blog-rant, but maybe I should have. I have since learned that I could have changed some configuration options to make MongoDB less likely to corrupt and/or lose data. I'm still wary though - the fact that the default configuration was prone to unrecoverable data loss suggests that any time I use MongoDB, I must carefully research the…

It's not just that the defaults are dangerous, but that if you change the default, you give up much of the performance benefit of choosing Mongo in the first place.

Sorry but NOBODY is choosing MongoDB purely based on speed.

If they were they would go with something like MemSQL, Redis etc.

Re: Does everyone hate MongoDB?

#87

"Getting your working set in memory is one of the most difficult things to calculate and plan for with MongoDB." I am a little bothered when I see a working set described as though it was a property of the user or workload. A large part of database research has gone into allowing the user or the system to make the working set smaller. An obvious example is an index, which makes the working set smaller if you don't mi…

Isn't one of the defining characteristics of Mongo-like systems that they tend to aggressively favor using RAM to achieve performance? I.e., their strategy is to complete each query as quickly as possible rather than attempt to optimize for fairness of long-running transactions.

I wasn't referring only to long running transactions. Indexes are clearly a way of reducing the working set (at least in a practical sense) but also vital for workloads with many short transactions.

I was not criticizing mongo per se, I was criticizing this post and other misguided statements about the working set as it relates to database software.

Re: Does everyone hate MongoDB?

#88
post #51

We've been using MongoDB in production for our main content store at Conversocial for over a year now. We've gone from 1.8 to 2.0 to 2.2 and we're happy. We have ~400gb of data, 220 million documents all on Amazon's SSD instances. We have definitely had our moments where we've screamed that we hate Mongo and are going to rip it out. That's normally where we've overlooked a detail of how it works... and we've had this…

At our company we have a much bigger MongoDB dataset in production. I can relate well to your comments, since it is the same stuff that I hear from our developers as they defend Mongo after yet another horrific situation. They have a tough time admitting that Mongo is the problem, and instead always find ways to say that it was their fault. This is such a strange thing for me to observe, but I think that it has to do…

> But unfortunately they seemed to spit in the face of DBAs and Ops people a long time ago by proclaiming them to be unnecessary and archaic.

WTF ? I have never heard 10gen say anything remotely like this. And it surely hasn't come across in their marketing. I mean seriously. Which developer thinks that in a production environment they are going to be the ones supporting the database ? Nobody.

> If MongoDB experts can't make their own services 100% reliable, what hope does a regular startup have of getting MongoDB to work well at scale.

The fact that you base your impression of MongoDB based on ZERO evidence just conjecture that the slowness of their site is database related says a lot about you too. There are many other reasons it could equally be: app server, network etc.

> If a DBA or Ops guy is being hired to manage a company's datastores, I don't see MongoDB (even 2.2) being a contender.

Have you even worked at an enterprise company before ? DBA/Ops aren't the ones in control. If the development team wants MongoDB installed and have business justification it gets installed.

> Developers may be unhappy since nothing yet is as easy to develop on, but they'll be happier in the end when stuff 'just works'.

But it does 'just work' that's the whole point. Developers aren't stupid and MongoDB is not the only database around. You just need to (god forbid) understand how the thing works.

Re: Does everyone hate MongoDB?

#89
post #51

Earlier quoted context omitted.

At our company we have a much bigger MongoDB dataset in production. I can relate well to your comments, since it is the same stuff that I hear from our developers as they defend Mongo after yet another horrific situation. They have a tough time admitting that Mongo is the problem, and instead always find ways to say that it was their fault. This is such a strange thing for me to observe, but I think that it has to do…

This is an excellent anecdote and one that others should pay attention to, regardless of the technology. Developers often have confirmation bias for their choices—it's a common human fault. We do it for purchases, life decisions, and software decisions alike. But it's important to watch out for it and be aware when you might be in the thick of your own bias. A friend of mine (let's call him "me") used Adobe Flex for…

You know what I do before making big decisions:

Read. The. Documentation.

Every single issue mentioned about MongoDB is in the documentation and pretty fundamental to how it works.

Re: Does everyone hate MongoDB?

#90

I think a lot of the "hating" is a side effect of MongoDB being consistently oversold in terms of its capabilities and architecture. Many people who are not experts on databases discover this the hard way later. If the claims about it were qualified a little better and the limitations acknowledged more openly by its proponents it would help to mitigate this outcome. I am indifferent to MongoDB but I do caution people…

I agree. In some regards it is "oversold", but I also think part of that is from a lot of the marketing efforts we've seen with newer databases like Mongo and even Riak. I am not saying those are bad, but with more established DBs like MySQL and PostgreSQL, you never really saw the same kind of marketing efforts towards developers, startups, etc. It is kind of a newer concept.

...with more established DBs like MySQL and PostgreSQL, you never really saw the same kind of marketing efforts towards developers, startups, etc. It is kind of a newer concept.

That's funny because MySQL used to do exactly the same kind of marketing fifteen years ago: comparing itself to Oracle, "it's a thousand times faster" when it obviously didn't do one thousandth of what a RDBMS does.

History repeats... and has a strange humour sense.

Post reply on HN