Disclaimers first off. I’ve never used MongoDB. I’ve known about Tim Bunce for a while, saw him speak at a Perl Mongers meeting, and decided to follow him on twitter. In general he’s positive, and I enjoy the CompSci tweets. Also, bonus points for people that can connect the title of this article without looking.
Tim has retweeted a couple of posts to articles like this one and this one and it peaked my interested. People seem to really love or hate MongoDB (and even that is heavily blogged about). I misplaced another blog post that did a good job of explaining why being a mmap based system can be bad. In the end I probably can’t say anything better than this post.
My advice is always to remain skeptical, read the source code, and test everything. It was open source, and it was fast, surely nothing can be wrong with it. I don’t know if people were intentionally trying to deceive the users, or whether it was just naive coding. Most of the angst now seems to stem from the fact that the defaults where not durable, and there wasn’t enough proactive communication about it. Thankfully they’ve had pressures being a VC backed company, and have had to listen to their community. It seems like 2.2 and 2.4 they’ve tried to be a bit better about the durability issues. My only thing is that once they’ve addressed everything, will they be that blazing fast document database that they started out as?
I have a couple of other projects I have as a higher priority, but I think I’ll put CouchDB, Riak Basho, and Elasticsearch through their paces. Maybe I’ll throw MongoDB in there too, but I’m still skeptical. And now not so much of the code, but of the people putting it out. In the end though, some well planned tests should cut through all of the noise.