Monday, February 07, 2011

SQL Saturday 60

There were many who had a great experience at SQL Saturday 60.  This one is mine.

Morning:
I had set my alarm for 5:00, so I'd have time for breakfast and a nice leisurely drive in.  I woke up promptly at 6:15.  Not a very auspicious start to the day, and a good thing I packed the night before. I grabbed the netbook and hit the road, managing to make it to registration right around 8:30.  Luckily, there were few cars, and fewer cops, on the road at that hour of a Saturday. I also turned 100k miles on the car as I was nearing the exit ramp.  Bonus! :-)

I recognized a few people in line, and was not surprised to find a few former co-workers in line, but was surprised to find the person whom I have replaced, in my current position.  He was eager to hear how things have progressed at his old workplace, and pleased, I think, with the progress that has been made since his departure.  I was glad to see familiar faces, but eager to seek out a few new ones.  One thing I knew I wanted to do, regardless, was make a point of approaching each speaker after their session, introducing mysels, shaking them by the hand, and saying "Thank you." Many, if not all of them, have been instrumental in my success as a DBA, and I was determined to take the opportunity to say thanks.

The morning pep-talk by Allen White (blog | twitter), was certainly energetic. I swear that man has more energy than three of me.  His set of five rules to us were as follows:

  1. Have fun.
  2. Learn something new that we could use immediately.
  3. Have fun.
  4. Meet five new people.
  5. Have fun.
I think that's pretty manageable, if you're a bit social. I'm not, but I was determined to make a point of being so.  With that, it was on to the first session.

Session One: SQL Server Internals with Jeremiah Peschka (blog | twitter)
I'm an occasional (ok, rare) attendee at the local Columbus PASS chapter, so I had met Jeremiah before, and had seen him speak at SQLSat42 in Columbus.  That said, I was really looking forward to this session. I've come to expect professional level knowledge and entertaining delivery from Jeremiah, and he did not disappoint.  Major take-away: SQLOS really is it's own world apart from the operating system. Research point: Dig more into how CHECKPOINT works.

Session Two: Baselining with Erin Stellato (blog | twitter)
I know Erin both through Twitter and via professional channels - she's assisting me with an issue I have with the product she supports.  (To be fair, the issue is not the product, but something foolish we have done with it...) Her presentation was well done, and I like how she handled the inevitable, "Well, on MY system..." question. Ugh.  There's always one person in there who wants to troubleshoot their own issues.  It's hard to know if that's going to be a worthwhile expenditure of time for the whole group. Usually, not so. She simply told him to save his question for the break, and that was that.  Well played.  Major take-away: There are good third party tools out there I should be using rather than rolling my own queries.  Research point: Learn to use Relog to import binary files to SQL.  

Session Three: Isolation Levels with Kendra Little (blog | twitter)
Kendra is one of my favorites, if not for her delivery than for her artwork. She's very knowledgeable, and has a very easy-going, friendly style.  She was probably the easiest person to introduce myself to.  I was most interested in Kendra's session because my boss has been extolling the virtues of SNAPSHOT isolation to me, and I wanted to check his facts.  Turns out he's partially right, but it's not quite the right solution for us yet. (TempDB would crack under the strain of that much versioning.)  There are better options, and I feel like I can speak more accurately about them now.  Not to mention that I have a kick-ass new poster in my cube, courtesy of Kendra.  Major take-away: isolation level is all about what behavior your willing to put up with. Research point: Read up more on phantom reads and READ_COMMITTED_SNAPSHOT, which I think is going to be the way to go.

Lunch was a quick trip to Burger King. In my morning rush, I had neglected to get the requisite cash for lunch at the event. Admittedly, had I known there was a BK literally within walking distance, I'd have likely made the same choice anyway. :-)

Session Four: IO Performance with Eddie Wuerch (blog | twitter)
Eddie was the only speaker I was not acquainted with before arriving at SQLSat60, but as someone with a keen interest in performance tuning, I was eager to hear what he had to say.  I enjoyed the presentation save one thing - animated backgrounds on the slides.  On the initial slide, it wasn't so bad, but afterwards... I could have used less distraction. Despite that, Eddie definitely had one of the best presentations I've seen on IO performance, and I was definitely enlightened by many of the things he brought up. I feel a little better armed to take on performance tuning now.  Major take-away: Pay better attention to join types when considering query plans. (Merge vs. Hash vs. Loop.)  Research point: read up on Readahead scanning for physical optimization. 

Session Five: Contentious Design Issues with Karen Lopez (blog | twitter)
Karen's session was definitely one of the best, but sadly, it's the one I have the least amount of notes on.  In fact, the entirety of my note section for that session is:

www.infoadvisors.com
Column name / table name sizes...

Yep, that's it. That's not a bad thing, though, because what I liked about that session was that I spent more time thinking about things.  Basically, the session worked this way: The whiteboard(s) of the room were divided into five sections. Karen would give us a design question, such as: Are surrogate keys always needed, or should you prefer the natural key? Where "1" would be "Natural Keys FTW!" and "5" would be, "The only good key is a Surrogate Key."  Her permutations were far more entertaining than mine, I assure you, but that was the way it worked.  We would all then get up and place a post-it note where we think the answer best lay.  I tried to avoid the extremes, being someone who doesn't like absolutes. So if the goal was to get people to think, I would say mission definitely accomplished. Well done. Major take-away: Database design is way harder than I thought. :-)  Research point: look into where the cost / benefit breakdown is for varchar vs. char in field length.

Session Six: Performance Tuning with Grant Fritchey (blog | twitter)
Finally, it was raw performance time with Grant.  While I was sad that I didn't win any books (or anything else that day), I was happy to have had the chance to learn from the masters, and Grant was certainly one of them. One of the more passionate speakers, he had a very clear presentation on the ins and outs of performance tuning - which is part of a full day he's doing in Florida at SQL Rally.  Might have to think about attending that one...  Here's one of my favorite things: The mark of a good presentation is it leads you in a natural direction. Every time Grant said something I had a question about, I was ready to raise my hand, but found it answered almost immediately by the next slide. Well played, sir.  Well played. :-)  Major take-away: Aggregate short-term data, and store the aggregations long-term. (Damn - why didn't I think of that?) Research point: Play with using sys.dm_os_performance_counters DMV.  Good place to get stats quick, cheap, and easy to use.

Session Seven: Women In Technology Discussion Panel with Kendra Little, Karen Lopez, Erin Stellato, moderated by Wendy Pastrick (blog | twitter)
And here is where I am glad I'm blogging this now, instead of weeks from now, since it was just before this session that the battery on my netbook died. The close plugs had already been taken up, so I just had a seat, and listened.  Sadly, without my notes, I don't remember too many of the things that were said, but I will say this: between my dear wife, and these fine ladies, my daughter couldn't ask for better role models, should she wish to pursue a career in IT. :-)

Wingz and Grillers:
No, that's not a menu. I was anticipating plans to visit with some relatives, but that ended up falling through so I journeyed to Wingz sports bar and grill with many of the attendees. I dusted off the social skills and sat down at a table of strangers for surprisingly easy conversation. Only with a group of DBAs or Developers could you complain about a waitresses' inattention by saying she had a full buffer, and could use a DBCC FREEORDERCACHE().  

Funny dinner story: I had to take a medium severity support call from 'nature', and on the way into the bathroom, I ran into two somewhat inebriated and very gregarious gentlemen. They inquired as to who the large group in the back room was. I have a hard enough time explaining what we do to sober people. The ensuing conversation was riotously funny, though did it really need to be while all three of us were, um, 'facing the wall?'

After dinner, (prime rib sandwich & Guinness, Yum!), it was off to Griller's Pub for SQLKaraoke!  I had been looking forward to this all day long.  Singing is something I thoroughly enjoy, and despite a massive head cold, and sore throat, I rocked out to Hoobastank, Pearl Jam, Stone Temple Pilots, and regrettably Jane's Addiction.  I blame the alcohol for the JA, since I was really out of steam at that point.  

This was, though, the best part of the evening, because I got to have some really great conversations with some awesome people. Wendy, Eddie, Jeremiah, Kendra, M J Swart, and several others.  It was like hanging out with good friends - something I don't do nearly as often as I should. Thanks to all of them, and everyone else there, for their time. I even got to continue a very pleasant conversation with Eddie as I gave him a lift back to his hotel. 

Best event I've been to yet, for several reasons.  I've been feeling very uninspired lately with work, and I think it shows.  Heck - I've even been considering getting out of the IT field all together.  But the inspiration and knowledge I left Cleveland with this past weekend, not only got me through my Monday, but leaves me eager for the rest of the week and beyond.  I'm planning to increase my blogging and tweeting more, and am looking forward to when we can all do it again.

Thanks, SQLSat60.  See you all again, soon.

-David.

No comments: