SQL 2008 Backup Compression -- Real World

by Rob 23. May 2010 16:37

One new feature in the SQL 2008 product line is on-the-fly compression of backups as a built-in feature of the SQL Relational database.  I've been excited about this feature, and anecdotally happy with the results.

Today I took a few minutes to do a head-to-head comparison of compressed vs. non-compressed backups.  And just for good measure I added in a test to compare the on-the-fly compression with using a secondary compression (WinRar).  This latter approach is one that we've all used for years, and I was interested to see whether I would be "forever done" with using secondary compression now that compression is "baked in" to the product.

The following tests are against a 10.2GB SQL database running on SQL 2008R2 x64 on an 8-CPU database server.

Here are my results:

  Time to make backup Time for secondary compression Total Time Final size of backup on disk
Uncompressed Backup 5 minutes N/A 5 minutes 5.4GB
Compressed by SQL during Backup 1 minute N/A 1 minute 1.25GB
Make uncompressed backup, then compress with WinRar 5 minutes 13 minutes 18 minutes 0.75GB

Tags: ,

SQL Server 2008

SSAS -- to Partition or not?

by Rob 20. January 2010 01:16

Recently I had a question from a client whether there was really any performance improvement in SSAS cube processing when using partitioning strategies vs. just using a single partition.

While intuitively I "knew" that partitioning cube fact tables results in better parallelism and thus increased performance (when adequate CPU, memory and I/O resources can support it), I realized I really didn't have any empirical "proof" to backup my professional opinion.  So--I setup a simple test.

The following is a very simple comparison of processing the same data set with a cube design that's identical--except for the introduction of multiple partitions. For this test I used Analysis Services 2008R2 x64 running on a 4-core Xeon server

The data set processed includes 37 million fact rows, and several dimensions--the largest including around 4,000 members.  In the first test, a single partition is used.

In the second, the cube is partitioned along months, resulting in about 1.3 million rows per partition.  This is below the recommended threshold for partition sizing, but provides a decent (if basic) evaluation of the effect of parallelism on cube processing.

Results:

  • Time to process the cube using a single partition: 21 minutes
  • Time to process the cube using 23 partitions: 12.7 minutes
  • Bottom line: by partitioning the processing of the cube, there's a time savings of around 40% in this case
Observation: The server I used is in my lab and has 4 Xeon cores, 4GB RAM, and 1.3TB RAID 1E storage. During the single partition processing, memory demand didn't exceed 3GB, and CPU utilization didn't exceed 60% or so.  With partitioned processing, both CPU and memory were completely saturated.  When I get the chance (and the required loose change) to upgrade the server to 8 cores and more memory, I'd like to re-run this to see whether increased resources would provide an even greater benefit.  However, having at least this much empirical evidence is a good start.



Single partition processing

23 Partitions processing

Tags:

Analysis Services | SQL Server 2008

SQL Server 2008 BI eLearning

by keruibo 26. March 2009 08:11
A while ago Ken Schaefer posted some great documentation on Kerberos delegation.  His series is titled IIS (Internet Information Services) and Kerberos FAQ.  This is a great backgrounder, and a nice guide on advanced delegation concepts.

Tags:

SQL Server 2008 | Training

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010 Rob Kerr's BI Blog