top | item 1115651

Why MongoDB thinks single server durability is overvalued

49 points| rgeorge28 | 16 years ago |blog.mongodb.org | reply

29 comments

order
[+] pibefision|16 years ago|reply
What sites are using MongoDB on production?
[+] stingraycharles|16 years ago|reply
We are using it in production, currently replicating across multiple datacenters. We're mainly using it as a CRUD datastore with advanced stored procedures and atomic update capabilities. At peak moments our MongoDB servers are handling around 10,000 operations / second.
[+] jhancock|16 years ago|reply
I am for a small, new site (all aspects of the site's data needs). Haven't had any troubles since I started using it last summer.
[+] cmer|16 years ago|reply
Defensio. Our Mongo database is ~250gb
[+] sailormoon|16 years ago|reply
I use it in production for everything on two smaller sites and one largish one, and as a message queue on a number of others. For what it's worth I have been really impressed by its performance and flexibility, and the professional attitude of its developers. Definitely worth checking out.
[+] moe|16 years ago|reply
I love how he mentions "water damage" in the list of things that can happen to a server. That made me snicker... who doesn't hate those leaky datacenter roofs!
[+] jerf|16 years ago|reply
At work, a server that I am responsible for the software on, but not the general IT-type management, was becoming increasingly flaky. It kept powering down at odd times, once managing to corrupt a MySQL database pretty badly. Shortly after a firmware update, it ceased coming up. I honestly did assume it was something in my software update, as updating this server was often the next step after QAing the software. Once I realized that I couldn't even ping the device (which I am 2000 miles from), I had to send in the local IT personnel to log in physically.

This is when they discovered that the device would no longer physically turn on. Next step is to de-rack the device, at which point some strange discoloration was discovered in the holes in the case. Next step was to open the case, where it was discovered that the entire machine was full of mold. The roof was leaking, and this was on the top of the rack directly under the leak. In Silicon Valley, leaky roofs can apparently take a while to discover, but they will eventually make their presence known.

Now, this was in a local office, albeit a relatively well-equipped on that holds in the hundreds of rack machines, not a colo. But you know what? Shit happens. And you don't really have a guarantee that shit won't happen just because someone has magically slapped the word "data center" on a building.

[+] thwarted|16 years ago|reply
Hey, it happens. One company I worked at moved into a new office (after I left) near the top floor of a highrise. There was a crack in the roof under one of the building's cooling units, and their computer room was near the plenum. During a big rain storm, water leaked down from the roof, through the plenum, ran along the ceiling and dripped all over the racks. Oddly, many of the computers remained running despite having water pooled inside of them.
[+] z8000|16 years ago|reply
I have some concerns about MongoDB and since it gets such good reviews from a lot of people, I think I am either making a big deal out of nothing or everyone else is crazy.

I wrote up some comments elsewhere but this thread is more populated with people _using_ mongo in production.

Elsewhere = http://news.ycombinator.com/item?id=1110366

[+] CaptainZapp|16 years ago|reply
"First, there are many scenarios in which that server loses all its data no matter what. If there is water damage, fire, some hardware problems, etc..."

Err! So there are burglers and other evildoers sneaking through the city. Does that mean I should stop locking my door, since burglaries happen anyway?

"In the real world, traditional durability often isn’t even done correctly. If you are using a DBMS that uses a transaction log for durability, you either have to turn off hardware buffering or have a battery backed RAID controller."

Or you write to raw devices, which perform pretty neatly. The fact that a _lot_ of databases are set up and managed in a crappy way justifies that this is considered the norm? I don't think so.

Here's for the disclaimer. I don't know anything about MongoDb and not a helluvalot about NoSQL databases.

But I think the reasoning behind this post is not very sound. No matter which database.