awsredshiftathenaanalyticscost-optimization

Redshift vs Athena cost: provisioned cluster or pay-per-scan?

Athena bills $5/TB scanned and costs nothing idle; Redshift bills for a provisioned cluster (~$793/month per node) or per RPU. Here's the crossover by query volume and how table design cuts both.

The C3X Team··7 min read

Quick answer

Athena bills $5/TB scanned and costs nothing when idle — best for sporadic, ad-hoc querying over S3. Redshift bills for a provisioned cluster (~$793/month per ra3.xlplus node) or per RPU on Serverless — best for heavy, steady BI where that fixed cost is spread across far more queries than Athena would bill for. The crossover is query volume; table design (partitioning, Parquet) cuts cost on both.

Athena and Redshift both answer SQL over big data on AWS, but one is serverless pay-per-scan and the other is (mostly) provisioned capacity. Picking the cheaper one is the same utilization question that runs through every cloud cost decision: how much, how often, and how steady.

Two meters

  • Athena: $5 per TB scanned from S3. No cluster, no idle cost. You pay per query, by bytes read.
  • Redshift provisioned: per node-hour, continuous. An ra3.xlplus is ~$1.086/hour (~$793/month) and you typically run several nodes 24/7, plus managed storage.
  • Redshift Serverless: ~$0.375 per RPU-hour for compute used, scaling with the workload — a middle ground between the two.

The crossover

Athena wins when querying is occasional: a few analysts running ad-hoc queries, scheduled reports, or log analysis a few times a day rarely scan enough TB to rival a cluster's monthly cost. Redshift wins when querying is the workload: dashboards refreshing constantly, dozens of concurrent BI users, heavy joins. At that volume a fixed cluster cost is spread thin, and the per-TB Athena bill would balloon.

The mistake in both directions: leaving a Redshift cluster running for a workload that queries twice a day (paying $793/node for idle capacity), or pushing a high-concurrency BI tool onto Athena and paying $5/TB on every dashboard refresh.

Cut cost on either with table design

Both meters reward not scanning data you don't need:

  • Partition by date or tenant so queries prune to the relevant slice.
  • Use Parquet/ORC + compression — columnar formats scan only needed columns and far fewer bytes than CSV/JSON.
  • On Redshift, right-size the cluster and use Reserved nodes for steady load or Serverless for variable; materialized views cut repeated work.

For the BigQuery version of this exact tradeoff, see BigQuery on-demand vs slots — same shape, different cloud.

FAQ

Is Athena or Redshift cheaper?

Athena is cheaper for sporadic, ad-hoc querying because it's serverless and bills only for data scanned ($5/TB) — nothing when idle. Redshift is cheaper for heavy, steady BI workloads where a provisioned cluster (or Serverless RPU pool) processes far more queries than the per-TB Athena bill would cover. The crossover is query volume and how constant it is.

How is Amazon Athena priced?

$5 per TB of data scanned from S3, with no infrastructure to provision. Partitioning, columnar formats (Parquet/ORC), and compression reduce bytes scanned and therefore cost. There's no charge when you're not querying.

How is Redshift priced?

Provisioned Redshift bills per node-hour (e.g. ra3.xlplus is ~$1.086/hour, ~$793/month per node, running continuously) plus managed storage. Redshift Serverless bills per RPU-hour (~$0.375/RPU-hour) for the compute actually used, scaling with workload. Either way, steady heavy querying amortizes well.

When should I use Redshift over Athena?

When you run frequent, complex BI queries against large datasets, need consistent sub-second performance, do heavy joins and aggregations, or have many concurrent users. A provisioned cluster's fixed cost is justified once query volume is high enough that the equivalent Athena bytes-scanned bill would exceed it.

Can I reduce costs on either?

On Athena: partition tables, convert to Parquet/ORC, and compress — all cut bytes scanned. On Redshift: right-size the cluster, use Reserved nodes for steady load or Serverless for variable, and use materialized views. Both benefit from good table design that avoids scanning data you don't need.

How does C3X help compare them?

C3X prices a Redshift cluster from its node type and count and treats Athena as usage-driven (bytes scanned), so you can compare a fixed provisioned cluster against per-query serverless scanning for your expected workload.

What to do next

Decide with your real query volume in hand. C3X prices a aws_redshift_cluster from its node type and count and models Athena scanning as usage, so you can put a fixed cluster next to per-query serverless on one page. The quickstart runs it on your Terraform in minutes.

Try C3X on your own Terraform

Free and open source. No API key required. One command to install, one command to estimate.