<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Data compression techniques and trade offs</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/09/30/data-compression-techniques-and-trade-offs.aspx</link><description>Ok, now that we have sort of agreed ( http://blogs.msdn.com/sqlserverstorageengine/archive/2007/09/30/data-compression-why-do-we-need-it.aspx ) that data compression is a good thing, you may wonder how SQL Server compresses the data, what does this compression</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Techy News Blog &amp;raquo; Data compression techniques and trade offs</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/09/30/data-compression-techniques-and-trade-offs.aspx#5206352</link><pubDate>Sun, 30 Sep 2007 10:04:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5206352</guid><dc:creator>Techy News Blog » Data compression techniques and trade offs</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.artofbam.com/wordpress/?p=3966"&gt;http://www.artofbam.com/wordpress/?p=3966&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Data compression e SQL Server 2008</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/09/30/data-compression-techniques-and-trade-offs.aspx#5212885</link><pubDate>Sun, 30 Sep 2007 21:19:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5212885</guid><dc:creator>SQL Server, BI and .NET</dc:creator><description>&lt;p&gt;Dal team dello Storage Engine di SQL Server arrivano alcune notizie interessanti a proposito delle nuove&lt;/p&gt;
</description></item><item><title>Data Compression: Why Do we need it?</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/09/30/data-compression-techniques-and-trade-offs.aspx#5215136</link><pubDate>Mon, 01 Oct 2007 00:17:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5215136</guid><dc:creator>SQL Server Storage Engine</dc:creator><description>&lt;p&gt;As announced in Tech-Ed 2007, data compression is a new and exciting feature targeted to be available&lt;/p&gt;
</description></item><item><title>re: Data compression techniques and trade offs</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/09/30/data-compression-techniques-and-trade-offs.aspx#7717452</link><pubDate>Fri, 15 Feb 2008 18:35:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7717452</guid><dc:creator>Michael Reinhard</dc:creator><description>&lt;p&gt;By the way it would be really interesting to hear at first hand about effectiveness curve of using compression for storing various data. It's also interesting how compression impacts encryption. I absolutely agree here with you about the importance of compression for backup operations. I used to use scripts to apply external compression to SQL backup files before I copied them to storage, but that solution performed very poorly. Furthermore, such a solution usually prevents you from running fast and seamless operations on backup files because you have to involve a stand-alone decompressor and a script before performing every operation on that backup file you have created using this scheme. That was one of the reasons why we purchased Scriptlogic's LiteSpeed &lt;a rel="nofollow" target="_new" href="http://scriptlogic.com/products/litespeed/"&gt;http://scriptlogic.com/products/litespeed/&lt;/a&gt; . That seriously increased our performance thanks to a fantastic SQL 2005 database engine and techniques implemented in Litespeed. You needn't go far to get some examples. I've just backed up a mid-size database of around 1.5 gigs on SQL Express 2005 where it achieved a compression ratio of 77%. I am keen to see SQL Server 2008 in my environment. I think that it's one of those best technology cases where a pair of solutions from different vendors make a burning mixture that does the job the best way you'd have preferred. What I like in such tools like Litespeed is the ease of procedures you can perform using the intuitive and effectively built configuration controls. It's like with SQL Express' 2005 setup wizard. You need to select a couple of settings and you are done with the setup. It really was a surprise to me when I saw that a backup operation takes shorter time if you do it by applying compression on the fly. The high CPU speed of modern systems really does the trick. In your very first article you've told that &amp;quot;Well, if the data is compressed, you can fit more data in the same memory.&amp;quot; Isn't it effective only in the case of asymmetric algorithms without? By the way, you said that the data is decompressed by row. That is it's JIT compressed. Do you use caching to somehow analyze the frequency of fetching rows? Or the mechanism works similarly to deflate implemented with NTFS compression? Does it have any problems with compressing large files &lt;a rel="nofollow" target="_new" href="http://support.microsoft.com/kb/927912"&gt;http://support.microsoft.com/kb/927912&lt;/a&gt; like NTFS does? If it is practically impossible I would be really great to be able to effectively use a combination of built-in SQL server compression and the compression applied with Litespeed. I've seen such problems with compressed NTFS files many times.That's why I decided that I leave production system uncompressed and apply compression only to the DBs that I backup.&lt;/p&gt;</description></item><item><title>re: Data compression techniques and trade offs</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/09/30/data-compression-techniques-and-trade-offs.aspx#7779861</link><pubDate>Mon, 18 Feb 2008 23:38:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7779861</guid><dc:creator>Sunil Agarwal</dc:creator><description>&lt;p&gt;Thanks for your comment. Some asnwers here&lt;/p&gt;
&lt;p&gt;(1) if data is encrpted before comrpession, you will not get much comrpession. TDE (a new featrure in SQL2008) encrupts after compression so you can have both compression and encryption&lt;/p&gt;
&lt;p&gt;(2) SQL Native backup compression is a very competitive offering. I suggest that you compare with lite-speerd. Other point that I want to make is that backup is typically IO bound, So if you use data comrpession and say you are able to compress 50%, then your backup will finish in 1/2 the time. &lt;/p&gt;
&lt;p&gt;(3) Data is kept compressed in the buffer pool and we 'decompress' only the requested columns, not the entire row or page. We don't cache 'decompressed data at this time. I did not understand your point on &amp;quot;Isn't it effective only in the case of asymmetric algorithms without&amp;quot;&lt;/p&gt;
&lt;p&gt;(4) The compression/decompression happens at column/row/page level. The size of the file only matters because there are lot more pages to compresss but the effort is linear with respect to the number of pages. I recommend you try data compression and see the impact on your workload.&lt;/p&gt;
</description></item><item><title>re: Data compression techniques and trade offs</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/09/30/data-compression-techniques-and-trade-offs.aspx#7899493</link><pubDate>Tue, 26 Feb 2008 07:56:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7899493</guid><dc:creator>kanchangehlot</dc:creator><description>&lt;p&gt;Nice to read to such a nice thing in easy-to-understand language.I amn doing &lt;/p&gt;
&lt;p&gt;a short project on information and entropy and I am interested in knowing &lt;/p&gt;
&lt;p&gt;factors which limit the extent to compress data without any loss of information and &lt;/p&gt;
&lt;p&gt;secondly how images are compressed under JPEG. Well ,I would like to tell you &lt;/p&gt;
&lt;p&gt;That I am a Physics student , so please don't use engineering jargons.&lt;/p&gt;
</description></item><item><title>re: Data compression techniques and trade offs</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/09/30/data-compression-techniques-and-trade-offs.aspx#7906789</link><pubDate>Tue, 26 Feb 2008 20:06:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7906789</guid><dc:creator>Sunil Agarwal</dc:creator><description>&lt;p&gt;I would suggest looking at the web. I found the following links. &lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.prepressure.com/library/compression_algorithms/jpeg"&gt;http://www.prepressure.com/library/compression_algorithms/jpeg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.jpeg.org/jpeg/jpegls.html?langsel=en"&gt;http://www.jpeg.org/jpeg/jpegls.html?langsel=en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;thanks&lt;/p&gt;
</description></item><item><title>re: Data compression techniques and trade offs</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/09/30/data-compression-techniques-and-trade-offs.aspx#9562111</link><pubDate>Wed, 22 Apr 2009 15:18:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9562111</guid><dc:creator>RajeshEMC</dc:creator><description>&lt;p&gt;Hi Sunil,&lt;/p&gt;
&lt;p&gt;I saw your articles ,it's Awesome .&lt;/p&gt;
&lt;p&gt;I am facing some issue in data compression , My client having around 20 TB of data in SQL Server . The client need to do data Compression on this and need to make a SSAS Cube for SQL Reporting.&lt;/p&gt;
&lt;p&gt;I just want to know where can have compression of Data's , It can be in SSAS level or SQL Server Database Level .&lt;/p&gt;
&lt;p&gt;If it SSAS Level : How and What are the step should be consider ?&lt;/p&gt;
&lt;p&gt;If it SQL Server Level : What the better solution for 20 TB Data Compression ?&lt;/p&gt;
&lt;p&gt;NB: The entire data store into a single Table in SQL 2005.&lt;/p&gt;
&lt;p&gt;Please help to achieve this.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Rajesh&lt;/p&gt;
</description></item><item><title>re: Data compression techniques and trade offs</title><link>http://blogs.msdn.com/sqlserverstorageengine/archive/2007/09/30/data-compression-techniques-and-trade-offs.aspx#9565612</link><pubDate>Fri, 24 Apr 2009 01:33:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9565612</guid><dc:creator>Sunil Agarwal</dc:creator><description>&lt;p&gt;I saw your articles ,it's Awesome .&lt;/p&gt;
&lt;p&gt;[sunila] thanks&lt;/p&gt;
&lt;p&gt;I am facing some issue in data compression , My client having around 20 TB of data in SQL Server . The client need to do data Compression on this and need to make a SSAS Cube for SQL Reporting.&lt;/p&gt;
&lt;p&gt;I just want to know where can have compression of Data's , It can be in SSAS level&lt;/p&gt;
&lt;p&gt;[sunila] the data compression I described in not in SSAS...I am not sure if SSAS has its own compression&lt;/p&gt;
&lt;p&gt; or SQL Server Database Level .&lt;/p&gt;
&lt;p&gt;If it SSAS Level : How and What are the step should be consider ?&lt;/p&gt;
&lt;p&gt;If it SQL Server Level : What the better solution for 20 TB Data Compression ?&lt;/p&gt;
&lt;p&gt;[sunila] please look at the compression strategy part of the blog...if you have read-mostly data, we recommend PAGE compression&lt;/p&gt;
&lt;p&gt;NB: The entire data store into a single Table in SQL 2005.&lt;/p&gt;
&lt;p&gt;[sunila] not sure what you mean..looks like you have one dominant table...this is definitely a manageability challenge...Have you partitioned it?&lt;/p&gt;
</description></item></channel></rss>