Azure SQL Data Warehouse Costs vs AWS Redshift

Today I wanted to detail Azure SQL Data Warehouse costs vs AWS Redshift. This post is meant to follow up on two earlier posts (Azure vs. AWS Data Services Comparison and Azure vs AWS Analytics and Big Data Services Comparison), where I outlined the different services offered. In both of those posts, you will notice that Aure SQL Data Warehouse and AWS Redshift were mentioned. Today I’m going to do a quick price comparison between the two services.

I am going to do my best to arrive at a conclusion that has equal sized servers. The reason for this is because I need to start somewhere, and I want to show the differences in how the costs are broken down. Feel free to experiment with the pricing calculators on your own and do similar pricing comparisons.

Let’s break this down. First up, Azure SQL Data Warehouse costs.

 

Azure SQL Data Warehouse Costs

Here is the Azure pricing calculator for Azure SQL Data Warehouse:

 

Azure SQL Data Warehouse Costs

 

A few things to note here. First, the option for Performance Tier. Here we get to choose Elasticity or Compute (still in Preview). I’ve chosen Compute for this example because reasons.

Next, we see the choice of cDWU blocks. DWU is short for Data Warehouse Unit, and you can read about those here. The thing you want to remember about a DWU is that it is how we measure the number of compute nodes for your SQL Data Warehouse. SQL DW uses 60 distribution streams, and the DWU decides how many compute nodes there are. For 1000 cDWU we have 2 nodes. This is important later.

Lastly, we have to select how much storage we need. I will select 2TB of storage because that will be closer to the size of the single node we use in AWS.

So, the total on this page for a SQL Data Warehouse, optimized for compute, 100% utilized for 1 month, at the lowest cDWU allowed (1000 minimum), and 2TB of storage is $5789.14.

Let’s look at the AWS Redshift costs next.

 

AWS Redshift Costs

Here is the AWS pricing calculator for Redshift:

 

AWS Redshift Costs

 

It’s just one line, you pick the size of the node you want. There’s no description for the different nodes, but this page helped me understand that “ds” means “Dense Storage”, and “dc” means “Dense Compute”. So, I chose the dc2.8xlarge, which gives me 2.56TB of SSD storage. And I need two of these nodes, because our Azure SQL Data Warehouse has two compute nodes. Our total cost here is $7729.92.

 

Just to Make Things More Complex

The AWS Redshift pricing makes no mention of a DWU unit in any way. This page helps me see there is a 7/5Gb/sec I/O rate. Azure SQL Data Warehouse does not offer a similar metric for the hardware they are using. Well, I guess they *do*, and it’s called a DWU. But since a DWU is a combination of CPU, memory, and I/O, it’s up to you to figure out what resource is most important based on your workload. In other words, you can’t just spin up one of each and compare performance without knowing what resource your workload will need the most.

Another point of interest here: no mention of failover or backups on the pricing pages for either Redshift or SQL Data Warehouse. But on this page for SQL Data Warehouse you will find that geo-replication costs you $0.12/Gb/Month. Redshift talks about giving you backup storage equal to the size of your warehouse each month for free. SQL DW rolls backup (snapshot) costs into the storage costs you set on the pricing page.

Oh, one more thing: egress. Neither service makes much effort to talk about egress charges on their pricing calculators. You can find the details if you hunt for them. At first, I thought this was odd. But now I understand that there may not be egress from these data warehouse services. It is likely you would move data from the warehouse to another service inside that same cloud. From there you would perform analytics or run reports, and that is where you would see egress charges.

 

Summary

I’ve tried to outline the high-level differences in pricing between these two data warehouse services. I did not explore all regions, or failovers, availability, etc. I’ve tried to keep things as simple as possible to give you an idea of costs and services provided.

It’s hard to compare cloud services, but not impossible. I find it is easier to evaluate services when you examine costs versus trying to examine the resource limits the services provide.

10 thoughts on “Azure SQL Data Warehouse Costs vs AWS Redshift”

  1. Your comparison is not objective nor fair. If you do 730 hours on Redshift dc2.8xlarge using on-demand pricing which is $4.8 per hour. Total is $3,504. Much lower than PDW’s $5,518.

    Reply
  2. Is that pricing for 2 nodes, or just one? The example above shows 2 nodes. I tried to compare the 2 nodes in AWS to the SQL DW compute option. And, as my posts have suggested, trying to do comparisons between the services is not easy. I’ve done my best to be objective and fair when comparing services and prices.

    Reply
  3. If you want to store 2TB data in AWS Redshift, you can choose 1 node of dc2.8xlarge, which gives 2.56TB SSD and costs $3864.96 per month; or choose 13 nodes of dc2.large which gives 2.08 TB SSD and costs $2616.9 per month. Both are much lower than Azure SQL Data Warehouse’s $5789.14.

    Reply
  4. Your example of $3864 is for 1 node, but Azure has 2 nodes in their cost. My post even mentions this. I like your 13 node example, but to make a fair comparison we would need to find similar smaller machines for Azure, and they don’t offer similar hardware.

    Reply
  5. The compute hour for Azure SQL Data Warehouse is 730 hours which is continuous computation for a month. However, compute and storage are separate which means you can pause compute when not need which further reduces the cost ofr Azure SQL DW.

    Reply
    • Thanks for the comment. You can also delete the Redshift cluster, stopping all charges. While not the same as the pause available in Azure SQL DW, it serves the same purpose. You would redeploy Redshift from a snapshot and be back up and running in minutes. I chose the 730 hours as a way of keeping the comparison fair in terms of understanding the costs for each service.

      Reply
  6. For Azure, DWU, cDWU definition and values itself are blurred. How do we factor with actual size of data. DC2,DS2 are clear for AWS and China region has NVMe SSD. PostgreSQL columnar features are clear and powerful. Eaxmple, each DS2.XLARGE compute node has two slices, whereas each DS2.8XLARGE compute node has 16 slices, so that we can leverage MPP architecture. I have not seen much how Azure SQL DWH leveraging the columnar features , though it says columnstore. But AWS Redshift is clear columnar and it is buttressed by facts on vacuum and analyze. Of course the list of comparison goes on , if we see the technical part of it.

    Reply
  7. Doing comparisons just on configuration is hard and as always there are technical differences behind the scenes. If you try to compare apples with apples on the config side you end up with nearly the exact same costs for SQL DW and Redshift (compare on demand price for DW400c vs. dc2.8xlarge -> 5.56 vs 5.6 USD per hour). You should compare Price/Performance using an independent benchmark like TPC-H where it seems that Azure SQL DWH has an advantage over Redshift: https://gigaom.com/report/data-warehouse-in-the-cloud-benchmark/

    Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.