Saturday, January 15, 2011

SQL Saturday 62: Slide Deck & Presentation

Hello Dear Reader,
      Since SQL Saturday 62, I've been a little busy with a sick baby girl, and didn't have the time to get my Slide Deck online until now.  Click here to view the slide deck.  I want to thank you for your interest.
      The first presentation went well, I got some really good feedback from the some of the DBA's in the audience I'm looking forward to re-working a couple things.  I wanted to list my thoughts.

Presenting

I was a little nervous leading up to the presentation, as a kid I was always involved in drama, plays, and musicals.  I went to a Magnet High School for the performing arts in Atlanta, GA and my concentration was in Drama.  We moved from Atlanta to Asheville, NC and I continued to concentrate on my acting but I also joined the football team, wrestling team, and played soccer (indoor and out-door) as well.

Needless to say between acting and sports I'm used to being up in front of an audience, and to be honest I kind of like it.  So you would think that all of that would prepare me to go in front of the SQL Community and present. 


(This picture would be more accurate if the Hulk was renamed the Demo)



Demo SMASHED!!!!

I rehearsed my Demo's quite a few times.  The last thing I wanted to do was be caught unprepared, but somehow that is the one thing that happened. 

I tried to do a little too much in my demo's, my subject being compression I wanted to create a set of tables that were sizable, with around 15000 rows, and then apply compression.

Re-creating the tables was taking around 38 seconds when I was testing everything out over the last several days.  On the day of when I went to load up my table I knew there was an issue when I went to run the first insert and after 1 minute and 45 seconds it was still running.

So I did what any actor would do in the case where their props fail them, I improvised.  While I wasn't able to load the tables to the full extent that I wanted I was still able to insert data, and run the compression scripts against them.  What I wanted to convey I was still able to.  All of the info in my Slide Deck was still there, all of the knowledge I have on the subject was still there, I took a deep breath and just kept moving forward.


Always Have a Backup Plan

Since the failure of the Demo's my mind went into troubleshooting mode, you can't really stop your talk to throw up Perfmon or start analyzing your wait stats in the middle of the Presentation.  Well you could, but since the talk was on Compression and not wait stats it didn't seem like the right thing to do.  

But when I got home the first thing I did was reboot my laptop and try again.  This time I could let the demo run, needless to say 38 seconds had turned into 5 minutes and 50 seconds.  YOWZZA, I'm glad I stopped and kept speaking.  Looking at my wait stats I was ready to do some analyzing when by happy accident my battery fell out while the laptop was unplugged, after that reboot everything went back to normal.  But even at normal I don't want to get caught unprepared.

So I started building my backup plan.  There are a bunch of different ways I can present to get my point across, I would like to say I would isolate and fix the issue my laptop was having, but it is working swimmingly right now (YAY and BOOO all at the same time).

I was a Boy Scout at one point in life and I do remember the motto of "always be prepared", and it has not left me.  So I'm looking forward to the next round of presentations, because I will have worked up how I can get my demo's done at least 3 different ways so I don't get blindsided again.

Not sure when the next Page & Row Compression presentation will be but I'm already looking forward to it.

Thanks,

Brad

Monday, January 10, 2011

A House and a Dog! T-SQL Tuesday 14: Techie New Year’s Resolutions

So T-SQL Tuesday is back again already, the first of 2011, and the  theme is techie resolutions.  This topic is courtesy of the Jen 1/2 of the MidnightDBA (twitter)(blog). 

I really like the idea for this topic, because we all have a lot of personal goals when it comes to a new year, but this is all about techie resolutions and what you want to achieve as it relates to technology. 



You might be wondering how does a House and a Dog make the list of techie goodness?  Houses are great and the can be tech savvy, but a dog….. really a dog…..!?

Look at those eyes, they can be techie if they want to.  So here we go! 

1.       MCITP DBA SQL 2008
I’ve got my MCTS for SQL 2008, so one test to go on this one, this will be the first resolution I wrap up this year.
2.       MCITP DBA Developer SQL 2008
I will start this track as soon as I finish the MCITP for the SQL 2008 DBA, my birthday is in late January and I’ll be getting the 70-433 book  and a Prometric 2 Pack  to help with this.
3.       13 T-SQL Tuesdays
This will be a year long project, I did my very first T-SQL Tuesday last month a full year will put me at 13, so the goal is 13 T-SQL Tuesdays by the end of the year J!

4.       40 Blog Posts
I’m new to blogging, and it is not as easy as it looks when you are casually visiting a site.  Each post requires quite a bit of work.  I have 4 kids, I’m married, and work a full time job.  Needless to say the one thing I’m not lacking on is boredom.  The thing I like most about blogging it is forcing me to keep tight priorities and my goal is to do at least 40 blogs for the year.  That is less than 4 a month.  I’d like to do more but I’m of the under promise over deliver line of thinking.

5.       6 Presentations to the SQL Community
I don’t know how, but I missed most of the SQL Community, except for SQLServerCentral.com, while I was breaking into and becoming a DBA.  It wasn’t until 2009 while I was working in D.C. that our Vice President of Microsoft Technologies came to me and said, “Your really interested in SQL Server right?”  “Yes”, was my simple response to him.  I had already gotten my MCITP SQL DBA for 2005 and was working on my MCTS for 2008, so I thought "like" was an understatement.  You like a sandwhich, you like a joke, you like a movie, but I have a deep rooted desire to know SQL like I know comic books.

He said he was going to forward me this link he got for something call 24 hours of PASS.  Needless to say I was hooked.  Not only did I love presentations from folks like Brent Ozar (twitter) (blog) and Louis Davidson (twitter) (blog), but I thought about what I did every day and felt I had things I could share as well.
Working for the Office of the President I was a little leery to put myself out there, so when I left and I wanted to find a company that would encourage me to be active in the SQL Community, heck I didn’t need encouragement I just needed the thumbs up!  And yes I got the big thumbs up.
My first presentation will be at SQL Saturday 62 in Tampa this Saturday, January 15th, I’ll be presenting on Page and Row Compression How, When, and Why.  I’ve presented internally for my company and also for previous audiences.  But this will be my first venture into the SQL Community and I’m very excited.  I’m going to be giving a 30 minute presentation at OPASS on March 8th, Transparent Data Encryption the Lightning Round.  So that is 2 down, 4 to go.
6.       MCM Prep
This is a yearlong goal for me, I’m already watching all the MCM videos, taking notes, and buying books.  Come 2012 I want to tackle this head on, but this is an expensive proposition, especially when you’re a family of 4 (six including Mrs. Balls and myself).  Mrs. Balls is super awesome, very supportive, quite beautiful, and she said I could go for it as long as I get her a House and a Dog.  So believe it or not
7.       A House and a Dog are techie goals!
My kids will be so happy to hear this!  The kids have wanted a Dog for quite sometime and this move was all about putting down roots long term.  To be quite honest, if I only achieve one thing on this list, this is by far the most importiant.

So there it is, not quite a top 10, but 7 will do for this year for me.  So Dear Reader, thanks for stopping by and Happy New Year!

Thanks,

Brad

Tuesday, December 21, 2010

SQL Saturday 62: Row Compression

I'm really excited to be selected as a speaker for SQL Saturday 62 in Tampa on January 15th 2011, register today at http://www.sqlsaturday.com/62/register.aspx !

Just a quick blog this evening, the whole family, myself included, have been under the weather.  I wanted to get something out on this, and I’ll put more out in the coming days.

The topic I will be presenting on is Compression.  My session is titled Page and Row Compression How, When, and Why, and I’m very excited to be presenting on this topic.   There are also a lot of really great sessions but other speakers, to check out the full line up click here.

I'm going to break up the subject and talk about it in parts, we will start with a very brief introduction to the concepts in Row Compression..


Row Compression

Row Compression was introduced to us in SQL 2008, it’s predecessor was vardecimal compression introduced in SQL 2005, and subsequently deprecated in SQL 2008.  It is still available in 2008, but vardecimal compression does almost the exact same thing as Row Compression, but on variable length numeric fields.
 The premises is that you take the variable length columns from a record and you make them a fixed length field, you take the variable length array and covert it from a 4 byte field to a 4 bit field, and there is also special handling for nulls and zero values. 
In SQL 2008 R2 Row Compression was extended even further to include Unicode support.
Okay, it sounds smart but what does it mean? 

Think Vacuume Sealed.

And Tastey, Tastey meat.
But mainly Vacuume Sealed.




We are extracting every bit of extra space down to trim the size of the data stored in a record on a page.  Row compression should be synonymous to you as saving space! 
If you move from a bigger house to a smaller house then you toss some things out, re-organize, possible consolidate a little.  This is what is going on.  Now keep in mind that not all data-types are covered and this is for In Row Data, LOB and Row Overflow data will not be compressed. 
We’ll save more for later, but needless to say we next need to talk about Page Compression, what makes it up, how to tell if your tables are candidates for compression based on your record types.  Also your tables activity level, and type, can help you estimate what kind of overhead to expect from compression.