<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Brent Ozar PLFstorage | Brent Ozar PLF</title>
	<atom:link href="http://www.brentozar.com/archive/tag/storage/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brentozar.com</link>
	<description>Your technology pain-relief experts.</description>
	<lastBuildDate>Wed, 08 Feb 2012 14:15:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SQL Server Can Run Databases from Network Shares &amp; NAS</title>
		<link>http://www.brentozar.com/archive/2012/01/sql-server-databases-on-network-shares-nas/</link>
		<comments>http://www.brentozar.com/archive/2012/01/sql-server-databases-on-network-shares-nas/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 14:15:40 +0000</pubDate>
		<dc:creator>Brent Ozar</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[denali]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[sql2012]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://www.brentozar.com/?p=13263</guid>
		<description><![CDATA[Geeks love duct tape.  Sure, we pride ourselves on building a rock-solid solution the right way, but when the brown stuff hits the moving metal stuff, we love to show off our ingenuity.  We carry our money in duct tape wallets, wear duct tape shirts, practice ductigami, and hang our duct tape from custom metal...<p>...<br /><i>Upcoming free webcasts: <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=663314175">SQL and SSDs: A Valentine's Day Love Story</a> and <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=664876357">Anatomy of the SQL Server Log File</a></i>.</p>
]]></description>
			<content:encoded><![CDATA[<p>Geeks love duct tape.  Sure, we pride ourselves on building a rock-solid solution the right way, but when the brown stuff hits the moving metal stuff, we love to show off our ingenuity.  We carry our money in <a href="http://www.amazon.com/gp/product/B001OXYFAS/ref=as_li_ss_tl?ie=UTF8&amp;tag=brozsqseex-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001OXYFAS" target="_blank">duct tape wallets</a>, wear <a href="http://www.amazon.com/gp/product/B0046ICJH4/ref=as_li_ss_tl?ie=UTF8&amp;tag=brozsqseex-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0046ICJH4" target="_blank">duct tape shirts</a>, practice <a href="http://www.amazon.com/gp/product/1550464299/ref=as_li_ss_tl?ie=UTF8&amp;tag=brozsqseex-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1550464299" target="_blank">ductigami</a>, and hang our duct tape from <a href="http://www.amazon.com/gp/product/B000UHH5VU/ref=as_li_ss_tl?ie=UTF8&amp;tag=brozsqseex-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B000UHH5VU" target="_blank">custom metal brackets</a>.</p>
<p>I&#8217;m about to discuss a feature of SQL Server that&#8217;s probably going to horrify you at first, but take a step back and think of it as duct tape.  I don&#8217;t want you to build a solution from scratch with it, but it&#8217;s a killer tool that deserves a prominent spot in your bag of tricks.  Since I&#8217;ve started using SQL 2012 in my lab, not a week has gone by that I haven&#8217;t used this feature to do something faster and easier.</p>
<h3>A Brief History Lesson on Trace Flag 1807</h3>
<p>In the past, Microsoft SQL Server required its database files to be stored on local drives or SAN storage.  The <a href="http://technet.microsoft.com/en-us/library/cc966500.aspx">SQL Server 2000 I/O Basics whitepaper</a> explains in stern terms why not just any storage will do &#8211; we have to be sure our data will hit the disk in a calm, orderly fashion.  Server vendors got the point, and everybody&#8217;s local storage and SAN storage followed the guidelines.  Over time, we stopped buying hardware from a Windows Hardware Compatibility List because, well, everything worked.  If you could buy it off the shelf from a major vendor, you were fine.</p>
<p>For ambitious people who wanted to gamble with their data, <a href="http://support.microsoft.com/kb/304261">trace flag 1807</a> let you store your database files on network shares or mapped drives.  This was a pretty bone-headed idea &#8211; heck, it was hard enough to get our local and SAN storage to be reliable enough &#8211; so few people used it.  Database administrators are usually way too paranoid to let their databases get corrupted just because somebody tripped over a network cable or a $200 NAS box failed.  Even if you didn&#8217;t mind unreliability, performance was a major problem &#8211; network file shares just weren&#8217;t fast enough to handle database access.</p>
<p>Network attached storage gained mainstream credibility over the last few years, and it&#8217;s gained widespread use thanks to virtualization and the Network File System protocol (NFS).  Under virtualization, each drive on your virtual server is really just one big file (VMDK or VHD), and it&#8217;s easier to manage accessing big files on a file share rather than mapping a bunch of LUNs to VMware hosts.</p>
<p>With tuning, NFS performance is fine for virtualization, and this has a bit of a hidden meaning: if we&#8217;re running our entire SQL Server in VMware, then we&#8217;re already doing database access over NFS.  So why can&#8217;t we let physical SQL Servers access their own databases via NFS too?</p>
<h3>SQL Server 2008R2 and 2012 &lt;3 Your NAS</h3>
<p>SQL Server 2008R2 did away with the trace flag and lets you put your data &amp; log files anywhere.  This statement works fine:</p>
<pre class="brush: sql; title: ; notranslate">
CREATE DATABASE [DestinedForGreatness]
ON  PRIMARY
( NAME = N'DestinedForGreatness', FILENAME = N'\\LittleBlackBox\SQL2012data\MSSQL\Data\DestinedForGreatness.mdf' )
LOG ON
( NAME = N'DestinedForGreatness_log', FILENAME = N'\\LittleBlackBox\SQL2012data\MSSQL\Data\DestinedForGreatness_log.ldf')
GO
</pre>
<p>And just to make things really clear, that statement doesn&#8217;t just work fine &#8211; it doesn&#8217;t give you a single warning.  Just like that, you&#8217;ve got a database relying on a network share, along with all the gotchas that entails.  Its database icon looks just like the rest in SSMS, and there&#8217;s nothing to suggest that your hosting strategy just got a lot riskier.</p>
<div id="attachment_13270" class="wp-caption alignright" style="width: 310px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; float: right;"><a href="https://secure.flickr.com/photos/dlytle/5322490101/"><img class="size-medium wp-image-13270" title="duct-tape-robot" src="http://www.brentozar.com/wp-content/uploads/2012/01/duct-tape-robot-300x300.jpg" alt="" width="300" height="300" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">The Six Million Dollar Man&#39;s children had smaller budgets to work with.</p></div>
<p>File share access goes over the same network paths as your client communications (queries, results, RDP sessions, etc).  A heavily accessed database could saturate your network cards, thereby slowing down everything else &#8211; or vice versa.  An unrelated file copy or backup could bring your network-attached database to its knees.</p>
<p>You also have to start monitoring the remote file share&#8217;s performance.  It can get slowed down by CPU or memory issues, or just by other activity happening on that same file share.  This means we have to <a href="http://www.brentozar.com/archive/2006/12/dba-101-using-perfmon-for-sql-performance-tuning/">capture Perfmon data</a> on that remote file server, including the physical disk counters.  I don&#8217;t see this as a drawback &#8211; after all, I need to do this same level of performance monitoring on my SAN, too.</p>
<h3>Use Cases for Databases on NAS</h3>
<p>When I first read about this SQL Server feature, I had the same reaction you&#8217;re probably having: nobody in their right mind should use this, right?  As it turns out, though, I keep using it to make my life easier.</p>
<p><strong>Low log file space emergency?  Add a file on a NAS.</strong>  With a few mouse clicks, disaster is averted.  Let your transactions continue (albeit slowly), then go back later to remove that extra log file.</p>
<p><strong>Need to restore a database fast?  Attach it from anywhere.</strong>  I&#8217;ve often needed to restore just one table from a big database backup, but I haven&#8217;t had the room to restore the entire database in production.  No problem &#8211; just restore the database on another server (like development), but use a network share name like \\MyFileServer\TempFolder\DatabaseName.mdf as the target.  All of the disk-intensive and network-intensive work happens on the dev server.  When the restore finishes, detach the database in development, and the production server can attach the database while it sits on the network share.  Copy out the tables you need, detach the database, and you&#8217;re off.</p>
<div id="attachment_13268" class="wp-caption alignright" style="width: 310px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; float: right;"><a href="http://www.amazon.com/gp/product/B005Z4IQBG/ref=as_li_ss_tl?ie=UTF8&amp;tag=brozsqseex-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B005Z4IQBG"><img class="size-full wp-image-13268" title="hello-kitty-duct-tape" src="http://www.brentozar.com/wp-content/uploads/2012/01/hello-kitty-duct-tape.jpg" alt="" width="300" height="300" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">Hello Kitty Duck Tape</p></div>
<p><strong>Hate drive sizing hassles?  Use NFS.</strong>  I run a lot of SQL Servers in virtualization, and I move databases around from server to server.  Rather than worrying about whether a server has enough free drive space, I&#8217;ve just created a file share on <a href="http://www.brentozar.com/archive/2011/06/iomega-storcenter-px4-review-iscsi-storage/">my NAS</a>, and all my SQL Server 2012 instances attach their databases from that share.  I can manage free space as a pool, and I never have to worry about an individual server running out of free space again.</p>
<h3>Should You Run Databases Over the Network?</h3>
<p>The amateur question is, &#8220;Do you feel lucky, punk?&#8221;</p>
<p>The professional question is, &#8220;Do the performance and reliability of your network file shares match up with the performance and reliability needs of the database?&#8221;</p>
<p>When I&#8217;ve asked myself the professional question, I&#8217;ve been surprised at some of my answers.  Network storage probably shouldn&#8217;t be your first default choice for new databases and files, but give it a chance.</p>
<p>The key to success is getting everybody to agree on both the capabilities of the NAS and the requirements of the database.</p>
<p>...<br /><i>Upcoming free webcasts: <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=663314175">SQL and SSDs: A Valentine's Day Love Story</a> and <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=664876357">Anatomy of the SQL Server Log File</a></i>.</p>
<div class="wp-about-author-containter-top" style="background-color:#FFEAA8;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/77f776c2eaf0cc691e8a0880bb8a191f?s=100&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D100&amp;r=R' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://www.brentozar.com/archive/author/BrentO/' title='Brent Ozar'>Brent Ozar</a></h3><p>Brent specializes in performance tuning for SQL Server, VMware, and storage.  He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP.  He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person.  <a href="http://www.brentozar.com/consultants/brent-ozar/">Read more and contact Brent</a>.</p><p><a href='http://www.brentozar.com' title='Brent Ozar'>Website</a> - <a href='http://twitter.com/brento' title='Brent Ozaron Twitter'>Twitter</a> - <a href='http://www.facebook.com/brentozar' title='Brent Ozar on Facebook'>Facebook</a> - <a href='http://www.brentozar.com/archive/author/BrentO/' title='More posts by Brent Ozar'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.brentozar.com/archive/2012/01/sql-server-databases-on-network-shares-nas/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>SQL Server Storage: Files and Filegroups Video</title>
		<link>http://www.brentozar.com/archive/2011/12/sql-server-storage-files-filegroups-video/</link>
		<comments>http://www.brentozar.com/archive/2011/12/sql-server-storage-files-filegroups-video/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 16:15:27 +0000</pubDate>
		<dc:creator>Brent Ozar</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[filegroups]]></category>
		<category><![CDATA[files]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://www.brentozar.com/?p=13138</guid>
		<description><![CDATA[You&#8217;re getting ready to buy more drives, but what should you use them for? If you&#8217;re a developer designing a database schema or a production DBA configuring storage, maybe you&#8217;ve thought about putting indexes on a separate filegroup. I&#8217;ll explain when it&#8217;s right to add more files, the difference between filegroups and files, and why...<p>...<br /><i>Upcoming free webcasts: <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=663314175">SQL and SSDs: A Valentine's Day Love Story</a> and <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=664876357">Anatomy of the SQL Server Log File</a></i>.</p>
]]></description>
			<content:encoded><![CDATA[<p>You&#8217;re getting ready to buy more drives, but what should you use them for? If you&#8217;re a developer designing a database schema or a production DBA configuring storage, maybe you&#8217;ve thought about putting indexes on a separate filegroup.</p>
<p>I&#8217;ll explain when it&#8217;s right to add more files, the difference between filegroups and files, and why you probably shouldn&#8217;t separate out indexes into their own filegroup &#8212; but what should go into those new filegroups?  You&#8217;ll learn in this 33 minute video:</p>
<p><iframe width="600" height="450" src="http://www.youtube.com/embed/peW8xJ_dJno?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p>Liked that video?  Here&#8217;s some of our past videos that you can watch immediately:</p>
<ul>
<li><a href="http://www.brentozar.com/archive/2011/08/five-ways-fight-blocking-video/">Five Ways to Fight Blocking with Kendra Little</a></li>
<li><a href="http://www.brentozar.com/archive/2011/08/how-prove-its-san-problem-webcast-video/">How to Prove It&#8217;s a SAN Problem with Brent Ozar</a></li>
<li><a href="http://www.brentozar.com/archive/2011/11/how-tell-when-tempdb-problem-webcast-video/">How to Tell When TempDB is a Problem with Jeremiah Peschka</a></li>
</ul>
<p>...<br /><i>Upcoming free webcasts: <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=663314175">SQL and SSDs: A Valentine's Day Love Story</a> and <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=664876357">Anatomy of the SQL Server Log File</a></i>.</p>
<div class="wp-about-author-containter-top" style="background-color:#FFEAA8;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/77f776c2eaf0cc691e8a0880bb8a191f?s=100&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D100&amp;r=R' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://www.brentozar.com/archive/author/BrentO/' title='Brent Ozar'>Brent Ozar</a></h3><p>Brent specializes in performance tuning for SQL Server, VMware, and storage.  He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP.  He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person.  <a href="http://www.brentozar.com/consultants/brent-ozar/">Read more and contact Brent</a>.</p><p><a href='http://www.brentozar.com' title='Brent Ozar'>Website</a> - <a href='http://twitter.com/brento' title='Brent Ozaron Twitter'>Twitter</a> - <a href='http://www.facebook.com/brentozar' title='Brent Ozar on Facebook'>Facebook</a> - <a href='http://www.brentozar.com/archive/author/BrentO/' title='More posts by Brent Ozar'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.brentozar.com/archive/2011/12/sql-server-storage-files-filegroups-video/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Virtualization and SAN Basics for DBAs Video</title>
		<link>http://www.brentozar.com/archive/2011/11/virtualization-san-basics-for-dbas-video/</link>
		<comments>http://www.brentozar.com/archive/2011/11/virtualization-san-basics-for-dbas-video/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 14:36:19 +0000</pubDate>
		<dc:creator>Brent Ozar</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[san]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[webcast]]></category>

		<guid isPermaLink="false">http://www.brentozar.com/?p=12971</guid>
		<description><![CDATA[These two technologies can make a very big &#8212; and very bad &#8212; difference in how your SQL Server performs. Wouldn&#8217;t it be great if you could get the real, honest lowdown from a virtualization administrator, a SAN administrator, and a DBA? Wouldn&#8217;t it be even better if one person had done all three, and...<p>...<br /><i>Upcoming free webcasts: <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=663314175">SQL and SSDs: A Valentine's Day Love Story</a> and <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=664876357">Anatomy of the SQL Server Log File</a></i>.</p>
]]></description>
			<content:encoded><![CDATA[<p>These two technologies can make a very big &#8212; and very bad &#8212; difference in how your SQL Server performs. Wouldn&#8217;t it be great if you could get the real, honest lowdown from a virtualization administrator, a SAN administrator, and a DBA? Wouldn&#8217;t it be even better if one person had done all three, and could give you the pros and cons of each point of view?</p>
<p>In this one-hour session, I explain how virtualization changes CPU, memory, and monitoring, and I show how to get specific recommendations for your make &amp; model of SAN:</p>
<p><object width="600" height="338"><param name="movie" value="http://www.youtube.com/v/V38bzhrfTHU?version=3&#038;feature=oembed"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/V38bzhrfTHU?version=3&#038;feature=oembed" type="application/x-shockwave-flash" width="600" height="338" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The links I discuss in the video are <a href="http://www.brentozar.com/sql/sql-server-san-best-practices/">BrentOzar.com/go/san</a> and <a href="http://www.brentozar.com/community/virtualization-best-practices/">BrentOzar.com/go/virtual</a>.</p>
<p>If you like the one-hour free session and you&#8217;d like to learn more, I&#8217;ve got upcoming four-hour webcasts on virtualization and on storage.</p>
<h3><a href="https://sqlstorage-eorg.eventbrite.com/" target="_blank">Storage Area Networks (SANs) for DBAs</a></h3>
<p>Learn what&#8217;s happening inside the black box!  Brent Ozar is a Microsoft Certified Master of SQL Server who got fed up with his SAN admin saying, &#8220;Everything&#8217;s fine &#8211; it must be a SQL Server problem.&#8221;  When the SAN admin quit, Brent took over, learned how SANs worked, and started putting the pieces back together.</p>
<p>In this four-hour session, production DBAs will learn what happens inside the SAN including:</p>
<ul>
<li>The differences between RAID levels (5, 6, 10, DP)</li>
<li>How pools of disks are shared between servers, and why you might like it</li>
<li>Pathing: the route between your server and your data</li>
<li>How solid state PCI Express drives like Fusion-IO work differently</li>
</ul>
<p>After that, you&#8217;ll understand how SQL Server interacts with storage.  We&#8217;ll cover:</p>
<ul>
<li>Why the SAN admin always thinks you&#8217;re not pushing the SAN hard enough</li>
<li>When you don&#8217;t need to separate your data and log files &#8211; and when you do</li>
<li>Why pathing may determine the number of data files you need for speed</li>
<li>When you might actually need two log files in your database &#8211; despite what the &#8220;experts&#8221; say</li>
<li>And a start-to-finish storage setup and testing checklist</li>
</ul>
<p>This session is for DBAs who are frustrated with slow or unreliable SAN performance, or DBAs who are about to embark on buying a new SAN.  <strong><a href="https://sqlstorage-eorg.eventbrite.com/" target="_blank">Register today</a>.</strong></p>
<h3><a href="https://vmware4sql-eorg.eventbrite.com/" target="_blank">Tuning SQL Server on VMware vSphere</a></h3>
<p>SQL Servers can run faster and more reliably under VMware vSphere, but they can also run craptastically.  You can&#8217;t just use the defaults and expect databases to fly, but thankfully, it&#8217;s not that hard to get high performance and uptime with just a few important tweaks.</p>
<p>In this four-hour session, production DBAs will learn why:</p>
<div>
<ul>
<li>Virtual CPUs are different &#8211; and sometimes less is more</li>
<li>Virtual memory is different &#8211; and how to set SQL Server max memory under VMware</li>
<li>Virtual storage is different &#8211; and whether we should use VMDKs or raw LUNs</li>
<li>Virtual networking is different &#8211; and why we have to do our backups differently</li>
<li>VIrtual monitoring is different &#8211; and why Task Manager is a dirty, filthy liar</li>
</ul>
<p>This session is for DBAs who are frustrated with slow or unpredictable SQL Server performance inside VMware, or DBAs who are about to embark on virtualizing their first SQL Server.  <a href="https://vmware4sql-eorg.eventbrite.com/" target="_blank"><strong>Register today.</strong></a></p>
</div>
<p>...<br /><i>Upcoming free webcasts: <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=663314175">SQL and SSDs: A Valentine's Day Love Story</a> and <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=664876357">Anatomy of the SQL Server Log File</a></i>.</p>
<div class="wp-about-author-containter-top" style="background-color:#FFEAA8;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/77f776c2eaf0cc691e8a0880bb8a191f?s=100&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D100&amp;r=R' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://www.brentozar.com/archive/author/BrentO/' title='Brent Ozar'>Brent Ozar</a></h3><p>Brent specializes in performance tuning for SQL Server, VMware, and storage.  He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP.  He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person.  <a href="http://www.brentozar.com/consultants/brent-ozar/">Read more and contact Brent</a>.</p><p><a href='http://www.brentozar.com' title='Brent Ozar'>Website</a> - <a href='http://twitter.com/brento' title='Brent Ozaron Twitter'>Twitter</a> - <a href='http://www.facebook.com/brentozar' title='Brent Ozar on Facebook'>Facebook</a> - <a href='http://www.brentozar.com/archive/author/BrentO/' title='More posts by Brent Ozar'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.brentozar.com/archive/2011/11/virtualization-san-basics-for-dbas-video/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Automated Tiered Storage for Databases</title>
		<link>http://www.brentozar.com/archive/2011/09/automated-tiered-storage-for-databases/</link>
		<comments>http://www.brentozar.com/archive/2011/09/automated-tiered-storage-for-databases/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 12:15:58 +0000</pubDate>
		<dc:creator>Brent Ozar</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[san]]></category>
		<category><![CDATA[ssd]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[tiering]]></category>

		<guid isPermaLink="false">http://www.brentozar.com/?p=12224</guid>
		<description><![CDATA[Database administrators want just one kind of storage: fast. Companies want just one kind of storage: cheap. Since fast storage isn&#8217;t cheap, and we can&#8217;t put everything on slow storage either, we end up buying different tiers of storage. Let&#8217;s start by pretending that we&#8217;re buying a new HP DL370 G6 to act as a...<p>...<br /><i>Upcoming free webcasts: <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=663314175">SQL and SSDs: A Valentine's Day Love Story</a> and <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=664876357">Anatomy of the SQL Server Log File</a></i>.</p>
]]></description>
			<content:encoded><![CDATA[<p>Database administrators want just one kind of storage: fast.</p>
<p>Companies want just one kind of storage: cheap.</p>
<p>Since fast storage isn&#8217;t cheap, and we can&#8217;t put everything on slow storage either, we end up buying different tiers of storage. Let&#8217;s start by pretending that we&#8217;re buying a new HP DL370 G6 to act as a data warehouse server.  It can hold up to 14 3.5&#8243; hard drives &#8211; so what drives should we buy if we want to use tiers?</p>
<div id="attachment_12225" class="wp-caption alignright" style="width: 310px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; float: right;"><img class="size-medium wp-image-12225" title="hp-proliant-with-tiered-storage" src="http://d2me0cejidzvf9.cloudfront.net/wp-content/uploads/2011/09/hp-proliant-with-tiered-storage-300x136.jpg" alt="All the better to store you with" width="300" height="136" /><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">HP DL370 G6: Our local tiered storage candidate</p></div>
<p><strong>Tier 1: Mirrored pair of Solid State Drives</strong> &#8211; SSDs are still pretty expensive, so we only buy two of these.  We&#8217;re going to store mission-critical data on our SQL Server, so we buy two of these drives and mirror them.  That way, if either drive fails (and SSDs certainly do fail), our server won&#8217;t go down.  However, SSDs have limited capacity, so if we buy two 256GB drives in a mirrored pair, we&#8217;re only going to get 256GB of usable very-fast capacity.  SSDs are blazin&#8217; fast at random reads and writes because they have no moving parts &#8211; they can jump to any portion of the drive at any time.  In our sample server, we&#8217;re going to use these drives for TempDB because we&#8217;ve determined that our application hammers TempDB hard.<strong></strong></p>
<p><strong>Tier B: Four 15K drives in RAID 10</strong> &#8211; 15k refers to how fast the drives spin.  At 15,000 revolutions per minute, the platters are flying, and lots of data is passing under the hard drive heads.  These drives can read or write a lot of data very fast when they&#8217;re dealing with sequential data, because the drive heads don&#8217;t have to move around.  They&#8217;re not as good with random reads and writes as SSDs, which have no moving parts.  Our 15K drives are larger than SSDs &#8211; we can afford to buy the 450GB models, and with four of those in a RAID 10, that gives us about 900GB of unformatted capacity.  (You can learn more about calculating RAID sizes in the <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Standard_RAID_levels">Wikipedia RAID article</a>.)  In our sample server, we&#8217;ll use these drives for our transaction logs.</p>
<p><strong>Tier III: Eight cheap 7200RPM SATA drives in RAID 5</strong> &#8211; These only spin at 7,200 RPM, roughly half the speed of the above drives, which means data is passing under the hard drive heads more slowly.  Just as slower cars are cheaper than faster cars, slower hard drives are cheaper too.  We&#8217;re going to buy the 2TB models, and with 8 of those in a RAID 5, that gives us 14TB of unformatted capacity.  RAID 5 can be much slower for writes, but it can be fast for large reads.  Our database stores a lot of wide data because we need to store XML and files in the database, but we don&#8217;t update that data very often.  It&#8217;s mostly kept for archive purposes.  We really do need that much space for our user databases.</p>
<p>This is manual tiering with local storage: carefully determining your application&#8217;s needs and then crafting a storage solution to fit.  It requires picking the right server, the right drives, the right RAID configuration, and then finally, configuring the application (SQL in this case) to store the right data in the right places.</p>
<p>This is a pain in the ass.</p>
<p>Very few people do this because there&#8217;s so much labor involved if you want to do it right.  If you just make some guesses about loads, buy any old drives, and slap &#8216;em into any old RAID configuration, then you&#8217;re locked into bad performance.  Six months down the road when you realize the application isn&#8217;t really hammering TempDB, and that the real speed bottleneck is one particular set of tables in a user database, you&#8217;re going to have a rough time reconfiguring all this.  Worst case scenario, we&#8217;re talking about backing up all of the databases, reformatting everything, and restoring it all from backup.  The bigger your databases get, the more painful this becomes.</p>
<h3>In-Drive Storage Tiering</h3>
<p>Whenever there&#8217;s a pain, vendors step in and offer to <del>take your money</del> help.  One of the early successful hybrids was <a href="http://www.anandtech.com/show/3734/seagates-momentus-xt-review-finally-a-good-hybrid-hdd">Seagate&#8217;s Momentus XT</a> &#8211; a 2.5&#8243; laptop drive that partnered 4GB of SSD memory with a 500GB hard drive in one package.  The drive learned which data you accessed the most frequently, then cached that data on the SSD.  The hybrid drive sped up routine actions like reboots and application launches.</p>
<div id="attachment_12227" class="wp-caption alignright" style="width: 310px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; float: right;"><img class="size-medium wp-image-12227" title="ocz-revodrive-hybrid" src="http://d2me0cejidzvf9.cloudfront.net/wp-content/uploads/2011/09/ocz-revodrive-hybrid-300x228.jpg" alt="If it was shipping, I'd show a picture of it in my hand." width="300" height="228" /><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">OCZ RevoDrive Hybrid</p></div>
<p>The newest contender in the market, the OCZ RevoDrive Hybrid, is a PCI Express drive like Fusion-IO, but it combines a 100GB SSD with a 1TB 2.5&#8243; laptop drive.  These aren&#8217;t shipping yet, but the press release holds an interesting nugget:</p>
<blockquote><p>&#8220;Advanced caching algorithms learn user behavior and adapt storage policies to ensure optimal performance for each individual user, maximizing productivity for the most demanded programs and applications.&#8221;</p></blockquote>
<p>The word caching implies that like the Momentus XT, the RevoDrive Hybrid is writing everything to the magnetic drive, but just caching frequently accessed data on the SSD for faster reads.  However, further down in the release, they brag:</p>
<blockquote><p>&#8220;In addition, the drive not only eliminates the SATA bottleneck unleashing ground-breaking bandwidth up to 910MB/s, but also features up to 120,000 IOPS (4K random write) for high transactional workloads delivering true SSD-level performance.&#8221;</p></blockquote>
<p>The phrase random write implies that writes will hit the SSD first, and then later be pushed down to the hard drive.  You can&#8217;t get 120,000 IOPs of 4K random writes on a 2.5&#8243; magnetic drive.  This also means that if you tried to continuously do 4k random writes, you might be able to fill the available space on the 100GB SSD, and then performance would slow down as the RevoDrive was forced to migrate data down to the hard drive.</p>
<p>I&#8217;m not suggesting you use either of these solutions on a production SQL Server, but I&#8217;m showing them to introduce you to the concept of tiered storage.  In a single drive, some of your data might reside on fast solid state memory, and the rest would live on slower, more capacious magnetic Frisbees.</p>
<h3>SQL Server Thinks Drives is Drives</h3>
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-12236" title="tiered-storage-quote" src="http://d2me0cejidzvf9.cloudfront.net/wp-content/uploads/2011/09/tiered-storage-quote.png" alt="Tiered storage can be much cheaper, easier, and more effective than partitioning." width="300" height="139" />The good news is that your database server doesn&#8217;t need to be configured for anything in order to use this storage.  In our data warehouse example, we could use several of these RevoDrive Hybrids to store our sales table, which has hundreds of millions of rows of history.  It documents our company&#8217;s history going back for the last ten years, and our executives have told us we&#8217;re not allowed to archive any data.  They want to be able to run reports to compare this Christmas season&#8217;s sales against the last ten Christmases.</p>
<p>Before automated storage tiering, this type of table was painful for DBAs.  How do we decide which data to put on which drives?  If we only keep the most recent year of data on fast storage and the rest on slow storage, then our users are going to be screaming during every holiday season.  They&#8217;ll all try to run reports comparing this year against the last ten years, and the reports will run dead slow.  We scream, &#8220;WE CAN&#8217;T STORE ALL THAT DATA ON FAST DRIVES!&#8221; but actually&#8230;we can.</p>
<p>With automated storage tiering, the storage gear constantly watches which parts of the drive are being accessed, and moves them to faster/pricier storage.  It also watches which parts aren&#8217;t being frequently accessed, and moves them to slower/cheaper storage.  Depending on your environment, this tiering management might be done in different places:</p>
<ul>
<li>Inside each drive, like in the Momentus XT and RevoDrive Hybrid</li>
<li>Inside the server&#8217;s storage controllers, like in the <a href="https://www.fusionio.com/products/iocache/">FusionIO ioCache</a> or <a href="http://www.adaptec.com/en-us/_common/maxcache/">Adaptec maxCache</a></li>
<li>Inside the SAN storage processors, like <a href="http://www.compellent.com/Products/Software/Automated-Tiered-Storage.aspx">Dell Compellent&#8217;s Automated Tiered Storage</a> or <a href="http://www.emc.com/products/detail/software/clariion-fast.htm">EMC&#8217;s Automated Storage Tiering</a></li>
<li>Inside your virtualization hypervisor, like VMware vSphere 5&#8242;s new <a href="http://blogs.vmware.com/vsphere/2011/07/vsphere-50-storage-features-part-5-storage-drs-balance-on-io-metrics.html">Storage DRS</a></li>
</ul>
<p>DBAs need to know about this technology because it can help you avoid complicated setups like table partitioning or guessing what needs a fast TempDB versus what needs fast transaction logs.  When you know how tiered storage works and when you know how to test it, you&#8217;ll be able to adapt to changing performance needs faster.</p>
<p><em><strong>I&#8217;ll be discussing this and more in my 4-hour Storage Area Networks for DBAs webcast.  <a href="https://sanbasics.eventbrite.com/">Come join me!</a></strong></em></p>
<p>...<br /><i>Upcoming free webcasts: <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=663314175">SQL and SSDs: A Valentine's Day Love Story</a> and <a href="https://brentozarevents.webex.com/brentozarevents/onstage/g.php?t=a&d=664876357">Anatomy of the SQL Server Log File</a></i>.</p>
<div class="wp-about-author-containter-top" style="background-color:#FFEAA8;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/77f776c2eaf0cc691e8a0880bb8a191f?s=100&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D100&amp;r=R' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://www.brentozar.com/archive/author/BrentO/' title='Brent Ozar'>Brent Ozar</a></h3><p>Brent specializes in performance tuning for SQL Server, VMware, and storage.  He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP.  He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person.  <a href="http://www.brentozar.com/consultants/brent-ozar/">Read more and contact Brent</a>.</p><p><a href='http://www.brentozar.com' title='Brent Ozar'>Website</a> - <a href='http://twitter.com/brento' title='Brent Ozaron Twitter'>Twitter</a> - <a href='http://www.facebook.com/brentozar' title='Brent Ozar on Facebook'>Facebook</a> - <a href='http://www.brentozar.com/archive/author/BrentO/' title='More posts by Brent Ozar'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.brentozar.com/archive/2011/09/automated-tiered-storage-for-databases/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Object Caching 1258/1298 objects using disk: basic

Served from: www.brentozar.com @ 2012-02-08 16:41:05 -->
