T-SQL Tuesday #41 – A journey of a thousand miles begins with a single step

This post might come a bit late but this is in response to  Bob Pusateri‘s T-SQL Tuesday topic  about presenting. T-SQL Tuesday is a monthly blogging event, with a different community host each month.

So, how did I come to present and loving it?

“a journey of a thousand miles begins with a single step”

After getting my graduate degree I stayed as an  Assistant Professor at Politechnica University of Timisoara, my Alma Mater, teaching seminars and labs on Programming  101 (Turbo Pascal … oh my!) and Relational databases labs while being the resident Oracle DBA at the Software Engineering department. 3 years later, I switched to a full time job as Oracle DBA and later  moved to a different continent with a different language and being an ESL speaker I did not think I would be speaking at public events… until 2 years ago at SQL Skills Immersion Events in Chicago (with Bob Pusateri!! our blog host). On the fourth day of the IE 1 class I volunteered to present a slide deck on SSD technology . I was extremely embarrassed as I felt like I was not in the same league as the rest of the presenters, but everything went so well that it made me reconsider my thoughts. As a matter of fact it made me submit a couple sessions for SQL Saturday #82 in Indianapolis and this was the beginning of my public speaking adventure. Later that year I actually presented 2 sessions in a day at SQL Saturday #96 in Washington, DC and the feedback was excellent.

 Starting on a journey as a speaker that has been incredibly rewarding and even though most of the time I paid for it out of my own pocket, the knowledge and the friends that I made on this journey were worth every effort. Last year two of my goals came true: attending PASS Summit for the first time and presenting my session titled “Optimizing SQL Server I/O with Solid State Drives ” at PASS Summit 2012. To put things  in perspective, 2012 has proved to  be truly amazing: Being mentored by Joe Sack blog|@josephsack from  SQLskills, attending my third  SQLskills Immersion Event – IE3, speaking at 6 SQLSaturday events in Madison WI, Chicago IL, Indianapolis IN, Iowa City IA, Kalamazoo MI and Minneapolis MN. I was extremely honored to be selected to speak a PASS Summit 2012, the greatest SQL Server conference of the year where I was joined by more than  150 of the industry’s leading speakers while having the unique chance to meet over 5000 database professionals.

My friend Paul Timmerman mentioned  in his post that last year I inspired him  to  start presenting. I am deeply honored to grow the community and inspire others to start speaking at community events the same way as I was inspired by Brent Ozar, Jes Borland, Paul Randal, Joe Sack and many other folks that are now part of my #SQLfamily

…and it all started 2 years ago with a session that was not supposed to last more than 15 minutes.

This week I will be attending my 4th SQL Saturday in Chicago, second time as a speaker,  hope you can make it to my session or just come by and say hi.

 

Presenting session: Anatomy of a Join at SQL Saturday #211 in Chicago

I’m thrilled to announce that I will be presenting for the second time at SQL Saturday  in Chicago  my Internals  session “Anatomy of a Join” on Saturday April 13, 2013!Chicago

Location is:
Devry Addison Campus
1221 N. Swift Rd, Addison, IL 60101

SQLSaturday is a training event for SQL Server professionals and those wanting to learn about SQL Server. Admittance to this event is free, all costs are covered by donations and sponsorships. Please register soon as seating is limited, and let friends and colleagues know about the event.
If you are attending please stop by and introduce yourself. Also if you are on Twitter don’t forget to use hashtag #sqlsat211 and see what others are doing.

Hope to see you there!

Things to do at PASS Summit 2012

Since there are over 5000 people that will be coming to Seattle this year for PASS Summit 2012 I was thinking to put together a list of things to do around the city.

Please feel free to add on to the list and I will try to update the content.Original Starbucks

First of all if you have not already done so, download the Guidebook app , search for Summit 2012 and load the official event schedule. This way any future updates will land right on your device.

  • #SQLRUN organized by Jes Borland @grrl_geek This will be a 5K run on Wednesday, November 7th at 6:00 AM.
  • Pike Place Market - about 6 blocks from the Convention Center  on Pike St – It is one of the oldest continually operated public farmers’ markets. If you are a coffee addict like me don’t miss the second Starbucks location in the original brown color scheme.
  • Seattle Monorail – You can ride a piece of history ($2.25 cash only/ one way) from Westlake Mall (2 blocks from Convention Center) to Space Needle and EMP
  • Space Needle -  Just like the monorail this iconic Seattle landmark was built for the1962 Seattle World’s Fair and featured in several movies like Elvis Presley’s It Happened at the World’s Fair
  • EMP Museum (formerly known as Experience Music Project and Science Fiction Museum and Hall of Fame)

I also recommend Denny Cherry’s SQL PASS 2012 1st Timers Webcast (low res only). He has a few more tourist attractions on the slides.

 

I will continue to add  items to this list, so come back soon.

 

My road to PASS Summit 2012

It’s been a while since I decided to give back to the SQL Server community  and start speaking at community events. I started on a journey as a speaker that has been incredibly rewarding and even though most of the time I paid for it out of my own pocket, the knowledge and the friends that I made on this journey were worth every effort. Next week two of my dreams will come true: attending PASS Summit for the first time and presenting my session titled “Optimizing SQL Server I/O with Solid State Drives ” at PASS on Friday, November 09, 2012, 1:00 PM – 2:15 PM in 302-TCC.
To put things  in perspective, this year has proved to  be truly amazing: Being mentored by Joe Sack blog|@josephsack from  SQLskills, attending my third  SQLskills Immersion Event – IE3, speaking at 6 SQLSaturday events in Madison WI, Chicago IL, Indianapolis IN, Iowa City IA, Kalamazoo MI and Minneapolis MN. On a personal note I have completed the Pewaukee triathlon and completed a Century ride (100 miles cycling)  with Bicycling Club of Lake County.

I am extremely honored to be selected to speak a PASS Summit 2012, the greatest SQL Server conference of the year where I will join more 150 of the industry’s leading speakers while having the unique chance to meet over 2400 database professionals. I would like to thank the PASS  Program Committee and Speaker review team for their support and for selecting my session .

I hope to see you next week at the PASS Summit and hope you can make it to my session or just come by and say hi and one of the other events.

 

 

 

A tale of two cities : Presenting Anatomy of a Join at SQL Saturday #160 and #149

Next 10 days will be pretty busy as  I will be presenting  my session “Anatomy of a Join” at  SQL Saturday #160  in Kalamazoo, MI on Saturday September 22, 2012 and the following week at SQL Saturday #149  in Minneapolis, MN on Saturday September 29, 2012

SQLSaturday is a training event for SQL Server professionals and those wanting to learn about SQL Server. Admittance to this event is free, all costs are covered by donations and sponsorships. Please register soon as seating is limited, and let friends and colleagues know about the event.
If you are attending please stop by and introduce yourself. Also if you are on Twitter don’t forget to use hashtag #sqlsat160 For Kalamazoo or #sqlsat149 for Minneapolis and see what others are doing.

Hope to see you there!

Presenting session: Anatomy of a Join at SQL Saturday #161 in Iowa City

I will be presenting  my session “Anatomy of a Join” at  SQL Saturday #161 in Iowa City on Saturday August 11, 2012!

Location is:
University Capitol Centre Room 2520,University of Iowa,
201 S Clinton St, Iowa City, IA 52240

SQLSaturday is a training event for SQL Server professionals and those wanting to learn about SQL Server. Admittance to this event is free, all costs are covered by donations and sponsorships. Please register soon as seating is limited, and let friends and colleagues know about the event.
If you are attending please stop by and introduce yourself. Also if you are on Twitter don’t forget to use hashtag #sqlsat161 and see what others are doing.

Hope to see you there!

Speaking at SQL Saturday #126 in Indianapolis

I will be presenting  my session on “Optimizing SQL Server I/O with Solid State Drives” at  SQL Saturday #126 in Indianapolis on Saturday July 28, 2012!

There is also a pre-con available: Allen White will present a one day Pre-Con on Friday July 27th from 8am to 5pm

Register Now at http://indysqlpowershell.eventbrite.com/

Location is:
University of Indianapolis,
1400 E. Hanna Ave, Indianapolis, IN 46227

SQLSaturday is a training event for SQL Server professionals and those wanting to learn about SQL Server. Admittance to this event is free, all costs are covered by donations and sponsorships. Please register soon as seating is limited, and let friends and colleagues know about the event.
If you are attending please stop by and introduce yourself. Also if you are on Twitter don’t forget to use hashtag #sqlsat126 and see what others are doing.

Hope to see you there!

A SSD Technology a Day (8) – eMLC and MLC-HET

This entry is part 9 of 9 in the series One SSD Technology a Day

In the 2nd post off this series we have explored the differences between SLC and MLC and saw that the main issue with MLC is endurance which in the past prevented their use for enterprise applications. Because of the increased capacity of MLC is a right fit for enterprise use, flash memory manufacturers looked for a way to increase the endurance characteristic of MLC memories. When analyzing the reasons why MLC cells fail sooner than SLC the main culprit was the tight reference voltage that after a numbur of flash write cycles is being overlapped by the actual charge left in the cell leading to an incorrect value being read from that cell. When that happens a few times the cell is being marked as bad.
The solution was to try to make the programing cycles more precise in order to increase the interval around reference levels from and allow more room for error when the memory cell degrades. Also the silicon dies are being tested and only the ones having better endurance characteristics are selected for enterprise use. This flash memory has been marketed as eMLC or MLC-HET (high endurance).

eMLC reference levels - Image courtesy of www.tomshardware.com

This memory has improved endurance over consumer grade MLC with one downside that programming increases in order to allow for more precise reference levels.
The average Write cycles for this type of memory is between 10K and 30K times.

This post comes to you from the shores of Lake Michigan in Muskegon where we are spending the weekend at a cottage in the company of good friends. In order to continue this SSD saga I found myself forced to write this using the WordPress iPhone app much like the character played by Robin Williams in the movie RV. Please excuse any spelling errors that you might find.

A SSD Technology a Day (7) – Intelligent Bad Block Management

This entry is part 8 of 9 in the series One SSD Technology a Day

In previous posts I talked about the wear and RAISE algorithms implemented by SSD controllers. One of the inevitable issues solid state memory is how to gracefully deal with bad blocks.

Bad blocks are flash memory blocks that contain one or more invalid bits whose reliability is not guaranteed because of faulty dies, over-charge leaks or wear-out. Bad blocks may exist even on a new disk.

Bad Block Management or Intelligent Block Management is an algorithm that monitors and maintains bad blocks within the NAND device. The controller maintains tables of known bad blocks and can replace the new bad blocks with spare blocks that are reserved for use. typically 4-10% of the usable capacity is reserved for Bad Block Management This practice further enhances the overall SSD lifespan and ensures that a few bad blocks will not affect the integrity of the drive and the SSD device still operate.

Bad blocks are mapped as “do not use”and substituted with known good blocks from the percentage set aside for spare blocks. The percentage of bad blocks which can be accomodated is a product marketing decision and that is the reason why an 128GB SSD device will only present 120GB as available to use. The spare blocks come from over provisioning inside the SSD and using the capacity which is invisible to the user.

If the bad blocks exceed the remaining spare blocks for any reason- the SSD fails because the controller cannot safely substitute a block that has to be written on a new bad block and can result in data loss.

Retired block count

The measure for Bad Block Management is “Retired Block Count” but expect that count to go up as “SSD Life Left” nears 5-10%

A SSD Technology a Day (6) – CacheCade

This entry is part 7 of 9 in the series One SSD Technology a Day

CacheCade is a technology developed by LSI  for its MegaRAID Storage controllers. CacheCade software allows  you to mix inexpensive SATA or even SAS hard disk drives with up to 512GB of solid state storage capacity distributed over a few SSD drives, to to provide a substantial performance boost, adding additional SATA HDDs or moving to an all SSD RAID volume to achieve performance requirements.

CacheCade - Image (c) Copyright LSI Corporation

This combination of HDDs and SSDs as secondary cache is especially best suited  in random read intensive applications where hot data can be moved to SSD storage in order to take advantage of the low latency, High IOPS characteristics of SSD at a reasonable price.
This technology is available on LSI  MegaRAID 9260 and 9280  controller series as well as on re-badged RAID controllers like Dell PERC H700 and H800 with 1GB Cache.

While CacheCade version 1.o offers only read cache (only one supported by DELL) CacheCade 2.o offers read and write caching for impressive results. This technology requires a inexpensive hardware license ($300). Read more about this here

As mentioned earlier Dell also offers the CacheCade 1.0 technology for Dell PERC H700 and H800 controllers with 1 GB NVRAM and firmware version 7.2 or later. This is an excellent solution that combines SSD with regular HDD arrays in order to intelligently store the hot data on 1 or more SSDs (Maximum SSD pool is 512GB).
In their Whitepaper they claim to double the number of transaction using up to 4x50GB SSDs
Read more here:
http://www.dell.com/downloads/global/products/pedge/en/perc-h700-cachecade.pdf
and here on technical details
http://support.dell.com/support/edocs/software/svradmin/6.5/en/OMSS/HTML/ecache.htm

A SSD Technology a Day (5) – Wear Leveling

This entry is part 6 of 9 in the series One SSD Technology a Day

Wear leveling is a technology used in Solid State Drive  controllers to prolong the service life of flash memory. As mentioned in the 2nd post of this blog series  What’s the difference between SLC and MLC? flash memories have limited endurance,measured by the number of P/E cycles that the memory can perform before becoming degraded. Wear leveling ensures that all cells are getting the same number of P/E cycles (even wear) so that you do not have  just a few cells on the drive receive the majority of the writes and wear out early. This might cause the drive to fail when most of the memory on it is still usable way ahead of the prescribed service life.

Memory wear-out concerns are unique to flash-based memory. Hard disks store data by magnetizing a thin film of ferromagnetic material on a disk. DRAM is volatile memory  (the memory stores data only while it is powered on). Flash memory stores data inside the NAND cell  via a process called tunneling while the floating gate is being flooded with high voltage. This leaves a charge in the NAND cell and that charge can be read over and over. Because  of this invasive writing method and coresponding erasing method, the flash cells degrade over time.

Wear leveling algorithm basically stores the P/E count of each cell and writes the next block to the  “least used available cell” so that cells that were intensively used are put to the end of the queue until all cells have an even wear.

One caveat is that new disks will have a much better performance than the once that were used intensively because all cells are good candidates for writing. Once the disk has been used, there is a performance degradation due to the need to erase  the cell selected by wear leveling. So a good advice would be not to test a new drive but first perform writes on 2-3 times the capacity of the drive before starting tests(e.g. 240GB SSD drive should have 500-750GB lifetime writes) in order to simulate the a real production scenario instead of just  benchmarking a brand new disk. One other thing that affects this performance is Static Data Rotation which is discussed in the first post of the series. Lifetime writes can be queried using Cristal DiskInfo and other free tools.

Disk parameters to check

A SSD Technology a Day (4) – Redundant Array of Independent Silicon Elements (RAISE)

This entry is part 5 of 9 in the series One SSD Technology a Day

RAISE is a technology developed by Sandforce that stands for  Redundant Array of Independent Silicon Elements. It is based on RAID ( Redundant Array of Independent Disks) technology  and is used to protect against write errors. Sandforce controllers that implement this technology work in a way that is very similar to RAID 5. Every chip contains a number of dies (typically 8 or 16). Each die is the equivalent of a HDD in a RAID5 array and data is being spread across multiple dies and to enable recovery from a failure in a sector, page or entire block, the missing data can be calculated calculated from parity and the write is performed again in the same block.  For more information read the article on Sandforce website.

Crystal DiskInfo

You can use Crystal DiskInfo to check the number of errors where the Raise technology recovered from.