Category Archives: All

Review: Here Comes Everybody by Clay Shirky

Here Comes EverybodyClay Shirky tells a great story. Here Comes Everybody begins with a case of a lost phone in a taxi cab, and the extraordinary turn of events that led to the owner retrieving it. From photos posted online, to NYPD who were uninterested in following up, to taking it all online. Through that online publicity, the story got picked up by the NY Times and CNN, which put pressure on the police to track down the taxi.  It’s a great example that illustrates the nuances, both good and bad, powerful and persistent that the Internet can unleash.

Throughout the book he weaves stories about the network effect, friends and friends of friends, and how that impacts information, organization, and the spread of ideas. Citing examples such as the SCO vs Linux court case and Groklaw, flash mobs and political organization, Shirky notes how all these events were influenced and facilitated by the Internet. Continue reading Review: Here Comes Everybody by Clay Shirky

The Mythical MySQL DBA

I’ve  been getting more than my fair share of calls from recruiters of late. Even in this depressed economic climate where jobs are rarer than a cab at rush-hour, it’s heartening to know that tech engineers are in great demand. And it’s even more heartening to think that demand for MySQL DBAs has never been better.

My reckoning was confirmed by a Bloomberg news report about stalwart retailers suffering from a dearth of talented engineers. Bloomberg cited Target’s outage-prone e-commerce site as a symptom of, among other things the market’s shortage. One of the challenges old-timers like Target face is having to compete with Silicon Valley startups as a fulfilling and ultimately, financially rewarding place to work. Continue reading The Mythical MySQL DBA

What Ops doesn’t tell you about your MySQL Database

MySQL is a very scalable platform which has proven robust even in the most dense and complex data environments. MySQL’s indispensable replication function is ‘sold’ as being fail-safe so you have little to sweat about as long as your backups are running regularly. But what the ops guys aren’t telling you is MySQL performs replication with tiny margins of error that could cause big problems in times of disaster.

Replication database backup

The Scenario

Imagine the scene, you use replication to backup your data. Your secondary database is your peace of mind. It’s the always-on clone of your crown jewels. You even perform backups off of it so you don’t impact your live website. Your backups run without errors. Your slave database runs without errors. Then the dreaded day comes when your primary database fails. You instruct your team to switchover your application to point to your live backup database. The site comes online again. But all is not right. You notice subtle differences and your team begins to question how deep the data divide could be.

The Problem with MySQL replication

Although MySQL replication is fairly easy to setup, and even to keep running without error, you may have unseen problems. MySQL’s core technology to replicate data between master and slave is primarily statement based. Various scenarios can cause what in other database platforms you might call database corruption, that is silent drifting of data from what tables and rows contain on the master. It is no fault of your own, or perhaps one might argue even of your operations team. It is a fundamental flaw in how MySQL performs replication.

The Solution

Fortunately there is a solution. Checksums, the wonderful computational tool for comparing things can be put to work nicely to compare database. The Percona Toolkit (formerly maatkit) includes just such a utility for use with MySQL. It can be used to check the integrity of your slave databases.
If you’ve never performed such a check, you should do so ASAP. If your database has been running for months at a stretch, chances are there could be differences lying undiscovered between the two systems.

Depending on the volume changing in your database, you can continue to use this tool periodically to confirm that all is consistent. If integrity checks fail, there is another tool in Maatkit to syncronize differences, and bring everything back to order.

How to hire a developer that doesn't suck

xkcd_goodcode
Strip by Randall Munroe; xkcd.com

First things first. This is not meant to be a beef against developers. But let’s not ignore the elephant in the living room that is the divide between brilliant code writers and the risk averse operations team.

By the way we also have a MySQL DBA Interview Questions article which is quite popular.

Also take a look at our AWS & EC2 Interview questions piece.

Lastly we have a great Oracle DBA Hiring Guide.

It is almost by default that developers are disruptive with their creative coding while the guys in operations, those who deploy the code, constantly cross their fingers in the hope that application changes won’t tilt the machine. And when you’re woken up at 4am to deal with an outage or your sluggish site is costing millions in losses, the blame game and finger-pointing starts.

If you manage a startup you may be faced with this problem all the time. You know your business, you know what you’re trying to build but how do you find people who can help you build and execute your ideas with minimal risk?

Ideally, you want people who can bridge the mentality divide between the programmers eager to see feature changes, the business units pushing for them, and the operations team resistant to changes for the sake of stability. Continue reading How to hire a developer that doesn't suck

Book review – Trust Agents by Chris Brogan & Julien Smith

Trust Agents Stumbling onto 800-CEO-Read, and their top books feature, I found Brogan and Smith’s work.  Brogan’s blog intrigued me enough so I walked down to the Strand here in NYC to pick up a copy.

What I found was an excellent introduction to the nebulous world of social media marketing, where you find all sorts of advice and suggestions on how to engage your target audience.  If you’re feeling like an ignoramus on matters of social media, Trust Agents is a great place to start and will give you ideas of how to ‘humanize’ your digital connections.

The authors illustrate the Trust Agent idea with Comcast Cares for example and how they engaged customers, and what worked so well for them.  Or Gary Vaynerchuk and his game changing Wine Library TV about wine.  He also emphasizes that building relationships online is a lot like building relationships in the real world a la Keith Ferrazzi of Never Eat Alone fame.  Engage in meaningful ways with people, don’t market to them. Share valuable tidbits, and the community will reward you tenfold.

A ‘trust agent’  lives by six principles:

  1. Make your own game – be willing to take risks and break from the crowd
  2. Be ‘One of Us’ – be part of the community by doing your bit and contributing to it
  3. The Archimedes Effect – leverage your own strengths wisely
  4. Agent Zero – position yourself at the center by connecting people and groups
  5. Human Artist – learn how to work with people; help others and be conscientious of etiquette
  6. Build an Army – you need allies to help spread your ideas

The book is excellent.  Put it on your holiday list.

Seattle Web Tech Meetup Nov 21

I’ll be one of two speakers at the next Seattle Web Technology Bi-Weekly Meet up on Nov 21 at the Citrus Lounge.

They’ve sexed it up a little by calling it a face-off between Windows Azure and Amazon EC2  (no prizes for guessing which side I represent) but really it’s going to be a primer on the Platform-as-a service and Infrastructure-as-a-service models. I expect some lively discussions during Q&A.

I’ll be covering questions such as what cloud computing is, what EC2 provides, what is datacenter automation and the differences between a standard datacenter liks Rackspace and Amazon EC2. Meanwhile you folks who’ve  large investments in say EXCHANGE servers will be able to pose questions to Marcus Wendt of Composite C1.

It’s Amex sponsored and you’ll get a ticket good for a beer or a Citrus signature drink with which you can get cozy and warm up by the fireplace while Marcus and I are beamed through a flat screen with our respective presentations. If you’re in Seattle drop in. I hope to see you or at least, hear you there.

Book Review – Effective MySQL

Effective MySQL: Optimizing SQL Statements

by Ronald Bradford

No Nonsense, Readable, Practical, and Compact

Effective MySQLI like that this book is small; 150 pages means you can carry it easily.  It’s also very no nonsense.  It does not dig too deeply into theory unless it directly relates to your day-to-day needs.  And those needs probably cluster heavily around optimizing SQL queries, as those pesky developers are always breaking things 😉

Jokes aside, this new book out on Oracle Press is a very readable volume. Bradford has drawn directly from real-world experience to give you the right bite size morsels you need in your day-to-day MySQL activities. Continue reading Book Review – Effective MySQL

5 Tips to Cache Websites and Boost Speed

Often when we think about speeding up and scaling, we focus on the application layer itself.  We look at the webserver tier, and database tier, and optimize the most resource intensive pages.

There’s much more we can do to speed things up, if we only turn over the right stones.  Whether you’re using WordPress or not, many of these principals can be applied.  However we’ll use WordPress as our test case.

Continue reading 5 Tips to Cache Websites and Boost Speed