Archive | October, 2012

My Biggest Regret as a Database Administrator

Is one simple, small thing. It’s not spending as much time as I possibly can with other people.

These Are Actual People

A DBA’s Time Is Limited

There’s almost always more things to be done that a DBA has time for. Some people I know are great database administrators because they’re very great parent types– they’re responsible, they’re organized, they like to keep everything in line, and they want to take care of something and raise it up to behave right and do well in the world. They actually care about their databases– I don’t mean this as a metaphor, they actually care about them.

But a database is a hard thing to love. It doesn’t talk, or think. It’s really just a bunch of 1’s and 0’s. It’s not that caring is bad, it’s just that if you care too much about your database then you end up stuck in the details of the thousand and one things that threaten its perfection.

And, Seriously, People Have Issues

This is clearly true in more than one sense.

Yeah, other people have reality TV issues. And they also have data issues. Can you make this query run faster? Oh, and these numbers don’t add up. What was the cause of the outage last week? Have you released this new code yet?

When are you planning to apply the latest patches? What new features are available in the next version? Is this table in replication? If so, what will happen when I remove these three columns? Oh, and by the way, we want to do some key changes on that billion row table.

Have you refreshed the preproduction environment? The dev server won’t start up. Can I have your IM address?

But Still, The People Are What’s Most Important

Really. I mean this.

It’s fairly obvious that I’m a serious geek and a technical person at heart. I have fancy certifications, a giant stack of books, and I know a TON of acronyms: that’s gotta be good enough to show something, right? But still, I’m the one who’s sitting here and saying that other people are what got me where I am today more than anything else. It’s 100% true. As much as I’ve tried to teach myself things from the internet, from classes, and from books, 99% of my knowledge has come from users, sys admins fellow DBAs, and developers in the trenches. Even (GASP), my SAN admins.

These other people who taught me what an index does and how to get that query to use it. They showed me how to tell why things are slow in SQL Server. They taught me how to build out hardware and how to figure out what components go into a SAN. My coworkers taught me how to build software and how to make it better every single day. Sometimes it was their job to teach me, sometimes they were just good people, and sometimes we were just having fun. I tried to give back as much as I could, but looking back it’s hard to express how grateful I am for all of that help along the way.

As a DBA, I’ve always spent a lot of time with people. But my biggest regret is not spending even more time, and not listening even more. Because working with people has always been the very best part of my job. Your coworkers will give you so much, if you just let them.

The #1 Thing You Forget to Do Before Presenting

You’ve painstakingly written and practiced your demos. You’ve polished your slides. You’ve walked through each moment of your talk– maybe it was in front of your dog, maybe it was in front of your ever-patient spouse, but you’ve given it your all.

There’s something you’re probably forgetting.

The Moment of Naked Honesty: Plugging In

As a presenter, you get to demo more than just how to do things in your topic of choice. You also get to demo your audiovisual skills. There’s going to come a moment when you’re plugging in your computer to the projector before each talk, and you’ll almost never be alone. Usually, a good chunk of your audience is watching you.

Whoops, You Didn’t See That, Did You?

There’s lots of things that I think are funny desktops which you probably don’t want to see.

Sorry, I’m not going to list the really good ones. But right now my main desktop features pictures of squirrels cursing at each other, just because I kind of liked it. It doesn’t have the bad language spelled out, but maybe it might– and maybe I wouldn’t want everyone to see it if it did. Some desktop wallpapers I like might make some people uncomfortable, and I don’t want to start out my talk that way.

Step 1: Set the Wallpaper for the Correct Monitor

Usually when you plug in a projector, it picks up your “secondary” wallpaper. It doesn’t typically mirror your default wallpaper, it uses whatever you set last when you had a secondary monitor attached to your laptop.

Therefore you may need to plug in a monitor or projector to actually set the wallpaper.

Step 2: Pick Your Wallpaper

So, what do you pick? Do you pick something on the topic you’re presenting on? Do you pick something boring? Something funny?

I like to pick something with one trait: something that makes me immediately give a big, huge smile. If there’s one thing I want to do before I start presenting it’s feel happy, confident and actually stretch my face out and smile. Why not set up my wallpaper so that I have something that does that right there on the big screen?

With this in mind, today I busted out my photo editing tools and created the wallpaper I’m using for my sessions at the PASS Summit 2012:

This is three shots of my dog, Mister Little, at the happiest place on earth: the beach.

One thing happens when I look at this picture. I remember how great it is to feel alive and how important it is to do what you love. And that’s exactly where I want to be when I’m speaking.

DBA Confession: Sometimes Everyone’s the Slow Kid

I’ve been working with SQL Server databases, Windows administration, and software development an awfully long time. Once you have a lot of experience with something, it’s easy to forget what’s not obvious to newbies. But some things you have to learn the hard way.

There’s a lot of stuff that I “just know” now and have no idea when or how I learned them. But there’s a few things I remember being particularly ignorant about for a long time.

Log Backups Were Really Mysterious

I worked with SQL Server instances using the simple recovery model for years. I started out administering lab instances and automating whole environment build-outs. If anything went wrong we would never do a point-in-time restore, we’d just build out a fresh, clean environment.

After that I worked with high transaction systems, but we were shredding and importing data from tons of files. Instead of spending IO on log backups, our system was designed so that if there was an issue we’d restore from the last full and just re-import files.

The cockroach philosophy of learning: just don’t let your experiences kill ya.

I didn’t fully understand this at the time, but in both situations we benefitted a lot from minimal logging.

I’d worked as a DBA for four or five years before I ever needed to back up a transaction log, much less restore one. I’d never needed to learn about it, so it seemed really … DIFFICULT. There was something almost intimidating about it.

Eventually, I read through some MSDN topics and ran through the commands on a test database on my own SQL Server instance. Turns out running those log backups and restoring them wasn’t nearly as hard as I thought.

I Mispronounced “Cache” for Years

The first DBA team I worked with didn’t talk about the SQL Server buffer pool. Instead they talked about what was in cache or not in cache. This isn’t too unusual when it comes to SQL Server. After all, there’s the “Plan Cache”. There’s counters for various “Cache Hit Ratios”.

But I couldn’t pronounce the word properly. I read everything I could about SQL Server and I’d seen the word a lot before I ever heard it pronounced, and my brain was convinced that the word was pronounced “kayshe”. With an extra southern twist on it.

I got laughed at more than once for saying this wrong– literally a bunch of people laughing in that way which makes you feel like a complete ignoramus. I had a really hard time with it, so I just started saying “memory”, but that’s kind of awkward. Eventually I learned to just say “cash”, but I still kinda smile whenever I have to use the word.

Database Mirroring Seemed Like Witchcraft

I was fortunate to work a lot with clustered instances of SQL Server for high availability. I also got great experience working with high transaction SQL Server replication, which was used to distribute small subsets of data for programmatic access, data transformation, and reporting. I knew these technologies very well and got very comfortable with them.

Since I worked with a lot of pricy SANs in a large environment, disaster recovery was on a massive scale and involved SAN replication to remote datacenters.

To me, all of this was very normal, while technologies like database mirroring seemed weird. I came to understand how they worked, but it wasn’t until I moved into a smaller environment that solved problems without multi-million dollar storage appliances that I learned that database level technologies like mirroring aren’t anything crazy— and I got to come up with ways to make it work myself. But for a while I felt like Mrs Howell on Gilligan’s Island— completely clueless.

Everyone’s Got Blind Spots

I’m grateful for all the experience I have. Lots of things in IT, particularly related to hardware, storage, performance tuning, and software development practices just aren’t things you’ll ever learn in school— you need to find the right situation where you have an opportunity to learn and have people who can help you through the hard points.

Even when you’re learning and absorbing and building on everything you come across in your path, in a rich technical environment there’s always a pattern you haven’t heard of, an opportunity you haven’t considered, or a gotcha you may have missed.

But as you build all that experience, this becomes easier and easier to forget— and it’s worth remembering that it’s OK that sometimes we’re all accidentally the nitwit in the room.

Conference Prep List: Pick Your Workout

I got an email recently from a first time attendee to the SQL PASS conference that made me squeal with glee. The email asked the question: do you know a good place to go do Crossfit in Seattle?

I somehow hadn’t realized that I could plan workouts for the conference, and I was so glad I got that tip!

I’m Not an Elite Athlete, Working Out Just Keeps Me Sane

Conferences are great, but they can be overwhelming. Between making new friends, reconnecting with old friends, presenting material, and learning new things, I’m usually wiped out by 3 pm. I keep my schedule as clear as possible during the conference, but there’s inevitably some things that need to be taken care of: future work to schedule, financial tidbits to be tended, requests from ongoing clients that need to be prioritized and answered. (It’s not impossible to fully unplug, but when you run your own business it’s likely to cost you some money when you choose to do so.)

By the third day of a long conference I’m physically and emotionally tired, even when I make a good effort to get solid nights of sleep. I am more of an introvert than I may appear to be– my inner geek just craves some time for quiet.

If there’s one thing I know that helps with this, it’s a good workout. Exercise has a way of clearing my head and helping me feel fresh that just about nothing else can do.

Workout Options on the Road

This is how I typically feel post-workout. Really, it gives me serenity— after the feeling I can conquer the world passes.

The good news is, there’s a lot of options. And these options are a lot better than hotel gyms. Those hotel gyms always feel small, hot, and germy to me, so I avoid ’em at all costs.

Option 1: SQLRun

If you’re going to The SQL PASS 2012 conference, consider signing up for the #SQLRUN. This will be a 5K run on Wednesday, November 7th at 6:30 AM.

Runners of all speeds are welcome. I’m going, and I promise I’m a super-slow runner! I typically do run/walk intervals and the mission of the run is to leave-no-one behind, so don’t be shy signing up.

Option 2: Find a Crossfit Box

There’s many options in Seattle and I may personally try more than one! Most Crossfit boxes have options to buy single sessions or tickets for a batch of sessions– you don’t usually have to buy a monthly membership like other gyms. You can find Crossfit online.

Option 3: Walk-In Yoga

Similarly, many yoga places allow walk-in sessions without long term membership. Worried you’ll embarrass yourself? Where better than out-of-town to do it! Here are the top reviewed yoga places in Seattle.

Option 4: Hotel Room Workouts

If you’re just not the social type and you’d like something completely free, Nerd Fitness has published a great 20 minute hotel room workout. It turns out you don’t need a lot of fancy equipment to get your heart rate going and kick your own butt.

Option 5: Stay at Least a Mile from the Convention Center

There’s two reasons to stay a good distance from most convention centers: it’s cheaper, and walking is really good for you. The catch is to make sure you can walk from your hotel to the convention center and won’t be forced to take a cab.

Seattle is a great city for this– almost anywhere you stay downtown is walkable. And if you need a good bargain on a hotel, check out Seattle hostels (just be mindful that the hostel on Vashon Island requires a ferry ride, and not all neighborhoods are downtown– check maps!).

Got other options? Got questions on what people are getting up to at SQL PASS this year? Just holler in the comments.