How to Choose a Shard Key: The Card Game

Choosing the right shard key for a MongoDB cluster is critical: a bad choice will make you and your application miserable. Shard Carks is a cooperative strategy game to help you choose a shard key. You can try out a few pre-baked strategies I set up online (I recommend reading this post first, though). Also,Continue reading “How to Choose a Shard Key: The Card Game”

Setting Up Your Interview Toolbox

This post covers a couple “toolbox” topics that are easy to brush up on before the technical interview. I recently read a post that drove me nuts, written by someone looking for a job. They said: I can’t seem to crack the on-site coding interviews… [Interviews are geared towards] those who can suavely implement aContinue reading “Setting Up Your Interview Toolbox”

Firesheep: Internet Snooping made Easy

If you use an open wifi network, people around you can see what you’re doing. They not only can look at your accounts, but log in as you with a double click. Even if you’re non-technical (especially if you’re non-technical!) you should know how this works and how to protect your accounts. Here’s what’s happening:Continue reading “Firesheep: Internet Snooping made Easy”

Bending the Oplog to Your Will

Part 3 of the replication internals series: three handy tricks. DIY triggers Using the oplog for crash recovery Creating non-replicated collections This is the third post in a three-part series on replication. See also parts 1 (replication internals) and 2 (getting to know your oplog). DIY triggers MongoDB has a type of query that behavesContinue reading “Bending the Oplog to Your Will”

How not to get a job with a startup

10gen is in super-recruiting mode, trying to scoop up all the great graduates before Google and Microsoft absorb them. I’ve been doing what feels like endless recruiting activities, and I’ve noticed that lot of applicants shoot themselves in the foot. So, here’s what not to do: First contact Don’t: contact the startup before you knowContinue reading “How not to get a job with a startup”

Getting to Know Your Oplog

This is the second in a series of three posts on replication internals. We’ve already covered what’s stored in the oplog, today we’ll take a closer look at what the oplog is and how that affects your application. Our application could do billions of writes and the oplog has to record them all, but weContinue reading “Getting to Know Your Oplog”

Scaling, scaling everywhere

Interested in learning more about scaling MongoDB? Pick up September’s issue of PHP|Architect magazine, the database issue! I wrote an article on scaling your MongoDB database: how to choose good indexes, help handle load using replication, and set up sharding correctly (it’s not PHP-specific). If you prefer multimedia, I also did an O’Reilly webcast onContinue reading “Scaling, scaling everywhere”