Live data from Hacker News

Go Cry on Somebody Else's Shoulder: MongoDB is fine

blog.slyphon.com

1–10 of 54 posts

Re: Go Cry on Somebody Else's Shoulder: MongoDB is fine

#4
In my opinion, there is but one feature that a database really must have: whatever data I write into it, if I don't delete it, I want to read it back - unaltered (preferably without needing at least three machines, but I'm willing to compromise)

Software that cannot provide this single feature just isn't something I would call database.

If it's unsafe default configurations or just bugs. I don't care.

Between these two articles over the weekend and some from earlier, personally, I don't trust MongoDB to still have that feature and as such, it needs much more than one article with a strongly worded title to convince me otherwise.

Re: Go Cry on Somebody Else's Shoulder: MongoDB is fine

#5
I'm not sure how hosting a video for Gawker builds a lot of credibility for having field tested a database; perhaps there are more details he can provide about how that is a particularly interesting trial for a database. Among other things, that seems like "lots and lots of reads, very few writes" and a "very consistent access pattern regardless" kind of situation.

Re: Go Cry on Somebody Else's Shoulder: MongoDB is fine

#6
The author would have us believe that it's unfair to pick on any piece of software because it "all sucks." They'd also have us believe that complaining about your data disappearing in MongoDB is an unfair criticism, and then takes the logical leap that judging the destruction of data and buggy software somehow has something to do with your own ability to create backups. Generally speaking the people who have been burned by MongoDB have survived by the fact that they had backups. This has nothing to do with the fact that their database nuked their data and that this is unacceptable if it happens due to careless engineering or poor defaults.

Edit: To be fair, if MongoDB was advertised as a "fault-intolerate, ephemeral database that is fast as heck but subject to failure and data loss, so do not put mission critical information in it" then all bets would be off. But we know that's never going to happen.

Re: Go Cry on Somebody Else's Shoulder: MongoDB is fine

#8
The difference between MongoDB and many of the other popular persistent data stores (relational or not) is one of degree, not of kind.

MongoDB isn't a fundamentally flawed system. It's just that the distance between what 10gen (and many of its defenders) claim and what it delivers is much greater than most other data storage systems. This is a subtle thing.

Many people have attempted to use MongoDB for serious, production applications. The first few times they encounter problems, they assume it's their fault and go RTFM, ask for help, and exercise their support contract if they're lucky enough to have one. Eventually it dawns on them that they shouldn't have to be jumping through these hoops, and that somewhere along the way they have been misled.

So it's not like anyone is misinterpreting the purpose and/or problem domain of MongoDB. It's more that they are exploring the available options, reading what's out there about MongoDB, and thinking, "Gosh, that sounds awfully cool. It fits what I'm trying to build, and it doesn't seem to have many obvious drawbacks. I think I'll give that a try." And then they get burned miles further down the road.

If MongoDB were presented as more of an experimental direction in rearranging the priorities for a persistent data store, then that would be fine. That's what it is, and that's great! We should have more of those. But when it's marketed by 10gen (and others) as a one-size-fits-all, this-should-be-the-new-default-for-everything drop-in replacement for relational databases, then it's going to fall short. Far short.

Re: Go Cry on Somebody Else's Shoulder: MongoDB is fine

#9
Mongo is fine until it's not. It's been fine for us for many months, but once you hit its limitations, it's pretty horrible. We're in this situation right now and we're seriously considering moving back to MySQL or Postgres.

Basically, "it doesn't scale" unless you throw tons of machines/shards at it.

Once they fix a few of their main issues such as the global write lock and fix many of the bugs, it could become an outstanding piece of software. Until then, I consider it as not ready for production use in a write-intensive application. Knowing what I know now, I certainly would not have switched our data to MongoDB.

Re: Go Cry on Somebody Else's Shoulder: MongoDB is fine

#10
post #7

If you're going to choose one of these high performance NoSQL DBs you are trading ACID for that performance . How hard is this to understand guys? If that doesn't suit your purposes, don't use it.

1) No one said we are trading ALL of ACID. D should never be traded, period, except for transient data or cache.

2) We don't even get the performance guarantee. See the pastebin post about how the write lock affects performance and how synchronization with a slave can go awry.

Post reply on HN