OmniSQL – Massively Parallel Query Execution

A few years ago, I wrote the original OmniSQL as a Perl script to automate the execution of queries across many MySQL servers and, in some cases, provide basic aggregation functionality. Shortly after that time, Justin Swanhart released Shard-Query and Domas Mituzas released pmysql, so OmniSQL was retired.

I’m a daily user of pmysql; indeed, we run a heavily patched version. Lately, I find myself needing to extend the functionality even more than we’ve already done. After a bit of evaluation, I decided that C wasn’t the best language to move forward with the new features. Thus, OmniSQL is reborn in Go. While initial testing indicates that it is an order of magnitude slower than pmysql running against 1,000+ instances of MySQL, it’s still well within my tolerance (and there are many areas of the code that can be improved).

Check it out on GitHub at

The Consultant’s Bookshelf

One of the primary functions of my job at Percona is hiring. As anybody in this position can attest, finding qualified talent is a non-trivial task. One question that I get a lot from job seekers is: “What should I read to prepare for this job?”. Aside from the litany of technology-specific titles, I took a look through my own personal bookshelf and chose 15 books that I think would round out any candidate. In no particular order, they are:

Continue reading The Consultant’s Bookshelf

Not Your Mother’s Egg Nog Recipe

It’s that time of year again … time to dig through my backups and try to find my Egg Nog recipe (it’s so good, it has become a proper noun). I figure I’ve shared this recipe enough that I should just post it up online for all to see.


  • 12 eggs
  • 1 cup granulated sugar
  • 1 cup burbon
  • 1 cup brandy
  • 2 cups meyers dark rum
  • 1 qt half & half
  • 2 pints heavy whipping cream
  • Nutmeg, to taste


  1. Be sober – It is hard to overstate the importance of this step. If you miss this step, it’s likely that the end result will be nothing short of disasterous.
  2. Perfectly separate the eggs into two separate mixing bowls (one bowl for whites, one for yolks).
  3. Beat the living tar out of the 12 egg yolks with a whisk or fork.
  4. Add 1 cup of sugar to the severely beaten egg yolks.
  5. Add 1 qt of half-and-half, continue mixing.
  6. Add 1 pint of heavy whipping cream, continue mixing.
  7. Slowly add all of the alcohol. If the alcohol is added too quickly, it will curdle the eggs and you’ll have to start all over. Patience is a virtue.
  8. Try the liquid, add alcohol to taste. If you think it tastes like jet fuel, don’t worry because when it is left to set overnight the flavors meld and it loses much of it’s sharpness.
  9. In a separate bowl, beat the egg whites like they owe you money! Should be stiff and form peaks.
  10. Fold stiff egg whites into the other liquids.
  11. In a separate bowl, whip up 1 pint heavy whipping cream until stiff-ish (it doesn’t need to be as stiff as the egg whites).
  12. Fold the semi-stiff whipping cream into other liquids.

Although at this point it is technically drinkable, it is highly advised to let it sit in the fridge (or outdoors, if you live in colder climates) for at least 24 hours. If, after having sat overnight, it’s still a bit strong, you can add some store-bought “egg nog” to taste.

Serve in gaudy christmas cups, sprinkling with Nutmeg. Enjoy!

Hot Apple Cider


6 cups apple juice
3 cups cranberry juice
2 tbsp brown sugar
1 tbsp butter
4 cinnamon sticks
1 dash freshly grated nutmeg
1 tsp pure vanilla extract

Combine all the ingredients in a pot atop the stove, and simmer on medium-low heat until the scent fills the home. The cinnamon sticks can be placed in the cups as drink stirrers if desired.