Live data from Hacker News

Does everyone hate MongoDB?

blog.serverdensity.com

1–10 of 159 posts

Re: Does everyone hate MongoDB?

#2
hell no, it's been a breath of really fresh air for us, we've been building all sorts of things, no problems so far. (including logging several millions of requests per day and performing distributed map reduce for all sorts of statistical models on a tiny 3 machine "cluster" we run on AWS, I hope I never have to go back to modifying schemas again, so much simpler to run and build with this mindset)

Re: Does everyone hate MongoDB?

#3
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 same experience with every database technology we use - including MySQL and Redis.

The day after, when we've cleared our heads... we're happy again. The same as the other technologies.

I think that with all technologies you're going to get bitten by some detail you didn't know about or had forgotten. The trick is to mitigate these disasters by thinking about your failure cases.

Re: Does everyone hate MongoDB?

#4
While I haven't gone full production with MongoDB yet, it has been a struggle to hear the signal through the noise.

I'm glad that there are proponents of MongoDB like ServerDensity, it's nice to hear the other side of things from people who understand the issues.

Out of all the issues mentioned, I'm particularly interested in a fix for uncompressed field names.

Re: Does everyone hate MongoDB?

#5
> Comments: The 32 bit limit is noted (perhaps it should be a warning) on the download page but the main problem was the author did not know when writes started to fail. MongoDB uses unsafe writes by default in the sense that from the driver, you do not know if the write has succeeded without a further call to getLastError. This is because one of the often cited use cases for MongoDB is fast writes, which is achieved by fire and forget queries.

(in reference to I’ll Give MongoDB Another Try. In Ten Years, http://diegobasch.com/ill-give-mongodb-another-try-in-ten-ye...)

I read the referred article and the HN discussion...but wasn't quite able to tell how much of the debate was focused on the reasonability of this default rather than "developers should read the docs, or accept catastrophic failure" attitude (which is not inherently wrong).

What immediately comes to mind is the Rails ActiveRecord update_attributes vulnerability...the default was to allow the updating of all specified attributes with the assumption that no competent developer would trust unsanitized input from the browser. After a good Samaritan performed a spectacular hack on Github, the Rails team immediately changed the default.

Is that the situation here with the 32-bit silent fail default? That it is a sensible default, but could be changed if it's shown that competent devs will nonetheless screw it up?

Re: Does everyone hate MongoDB?

#6

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…

I wish you would write about some of these issues that you faced so we all can keep them in mind when using MongoDB in the future.

Re: Does everyone hate MongoDB?

#7
post #6

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…

I wish you would write about some of these issues that you faced so we all can keep them in mind when using MongoDB in the future.

They're not particularly exciting. Example: we accidentally left detailed logging enabled on a secondary server and weren't monitoring the space left on the drive for logs. The disk got full and the secondary failed. Annoying that it failed but it was our fault for not monitoring that space and also leaving detailed logging on!

Re: Does everyone hate MongoDB?

#8
Does everyone hate MongoDB? - 25 Sept 2012

Headline Problem: Too many people are ranting about MongoDB.

Mistake: Too few data points. Overly defensive of MongoDB.

Comments: You should probably learn more about Riak. The "From MongoDB to Riak" is light on details but isn't really hand-waving. The author is saying that having a masterless database results in less fretting. http://wiki.basho.com/Riak-Compared-to-MongoDB.html

Also, why two rage faces? Can't you get your point across without resorting to silly memes?

Re: Does everyone hate MongoDB?

#9
I don't hate MongoDB: I use it on scenarios where it is useful (eg: forms apps collecting semi-structured data, ETL apps pushing/transforming data to achieve geo-near queries etc).

For a regular web-app with less exotic needs, my store of choice is PostgreSQL these days.

And next time I have to handle large scale data, I will probably use Riak.

Re: Does everyone hate MongoDB?

#10
post #6

Earlier quoted context omitted.

I wish you would write about some of these issues that you faced so we all can keep them in mind when using MongoDB in the future.

They're not particularly exciting. Example: we accidentally left detailed logging enabled on a secondary server and weren't monitoring the space left on the drive for logs. The disk got full and the secondary failed. Annoying that it failed but it was our fault for not monitoring that space and also leaving detailed logging on!

Well of course it's not exciting, but that's exactly the kind of examples I like hearing about because now I know I should always have detailed logging off.

Anyways, I'm sure a lot of us would appreciate it if you wrote about your experiences, regardless of how mundane they are.

Post reply on HN