One of the most common questions non-users ask is “Why should I use MongoDB?” There are a bunch of fancy answers: you can scale it (webscale!), you can use it for MapReduce, you can store files in it. Those things are all true, but every database worth its salt can scale (there are MySQL clustersContinue reading “The Scripting Language of Databases”
Author Archives: kchodorow
Lorenz University: I can has degree?
Misadventures in HR (an hilarious blog about… HR) mentioned Lorenz University, a degree mill. I’d never heard of a degree mill before, so I wanted to see how legit it looked from a computer scientist’s point of view. whois Every site on the internet has to register contact information the king of the internet, soContinue reading “Lorenz University: I can has degree?”
Implementing Replica Set Priorities
Replica set priorities will, very shortly, be allowed to vary between 0.0 and 100.0. The member with the highest priority that can reach a majority of the set will be elected master. (The change is done and works, but is being held up by 1.8.0… look for it after that release.) Implementing priorities was kindContinue reading “Implementing Replica Set Priorities”
“Scaling MongoDB” Update
In the last couple weeks, we’ve been getting a lot of questions like: (no one asked this specific question, this is just similar to the questions we’ve been getting) I ran shardcollection, but it didn’t return immediately and I didn’t know what was going on, so I killed the shell and tried deleting a shardContinue reading ““Scaling MongoDB” Update”
Resizing Your Oplog
The MongoDB replication oplog is, by default, 5% of your free disk space. The theory behind this is that, if you’re writing 5% of your disk space every x amount of time, you’re going to run out of disk in 19x time. However, this doesn’t hold true for everyone, sometimes you’ll need a larger oplog.Continue reading “Resizing Your Oplog”
Enchiladas of Doom
Andrew and I are visiting San Francisco this week. Last night, I wanted enchiladas from the Mexican place across the street from the hotel. It was still warm out even though the sun had set hours ago, so we decided to walk over. Our hotel is on a busy road with three lanes in bothContinue reading “Enchiladas of Doom”
My Life is Awesome
Andrew and I are getting married! I can’t figure out how to say this eloquently, but: Andrew is so wonderful and I am incredibly lucky to have him. I love him so much. We love doing stuff together, talking about everything together (well, he puts up with more database talk than he’d probably strictly like),Continue reading “My Life is Awesome”
A Short eBook on Scaling MongoDB
I just finished a little ebook for O’Reilly: Scaling MongoDB. I’m excited about it, it was really fun to write and I think it’ll be both fun and instructive to read. It covers: What a cluster is How it works (at a high level) How to set it up correctly The differences in programming forContinue reading “A Short eBook on Scaling MongoDB”
Why Command Helpers Suck
This is a rant from my role as a driver developer and person who gives support on the mailing list/IRC. Command helpers are terrible. They confuse users, result in a steeper learning curve, and make MongoDB’s interface seem arbitrary. The basics: what are command helpers? Command helpers are wrappers for database commands. Database commands areContinue reading “Why Command Helpers Suck”
How to Use Replica Set Rollbacks
If you’re using replica sets, you can get into a situation where you have conflicting data. MongoDB will roll back conflicting data, but it never throws it out. Let’s take an example, say you have three servers: A (arbiter), B, and C. You initialize A, B, and C: $ mongo B:27017/foo > rs.initiate() > rs.add(“C:27017”)Continue reading “How to Use Replica Set Rollbacks”
