Skip to content
Home › SQL Comparisons › BigQuery vs Redshift
Comparison · Data Warehouses & Platforms

BigQuery vs Redshift

BigQuery and Amazon Redshift are the native data warehouses of Google Cloud and AWS. BigQuery is serverless by design, billed per TiB processed or for slot capacity through editions; Redshift offers provisioned clusters billed per node-hour and Redshift Serverless billed per RPU-hour. For most teams the cloud that already holds the data decides, and the useful comparison is how each one charges for, scales and limits the same workload.

Last verified October 2026. Licensing and features change; check the official sources for the latest details.

Quick verdict

Short answer

If your data is in Google Cloud, choose BigQuery; if it is in AWS, choose Amazon Redshift. Moving large volumes between clouds adds egress cost and another security boundary, and each warehouse integrates most closely with its own cloud's storage, identity and data catalog. When the cloud is genuinely open, the difference is the operating model: BigQuery has no clusters at all and can bill purely per query, which suits irregular, exploratory use; Redshift gives you the choice of a serverless workgroup with a base capacity or provisioned RG and RA3 clusters with reserved pricing, which suits steady, well-understood workloads.

How we know: This comparison is research-based: architecture, billing units, editions, Serverless capacity, concurrency controls, semi-structured types, data sharing, multi-cloud features and SQL syntax were checked against Google Cloud's BigQuery documentation, the Amazon Redshift Database Developer Guide and Management Guide, and the AWS Redshift pricing page in October 2026. Google's BigQuery pricing page could not be read in full, so no BigQuery list prices are quoted. We have not run performance or cost tests.

BigQuery is Google Cloud's serverless data warehouse. Data is stored in a columnar format, separately from compute, and replicated across zones. Queries run on slots, virtual compute units that BigQuery allocates; you either let projects draw slots on demand and pay per TiB processed, or buy capacity in one of three editions (Standard, Enterprise, Enterprise Plus) through reservations. Objects are addressed as project.dataset.table.

Amazon Redshift is AWS's data warehouse, with SQL descended from PostgreSQL. A provisioned cluster has a leader node and compute nodes; AWS recommends RG (Graviton based) or RA3 nodes, both using Redshift managed storage so compute and storage are sized separately, while DC2 is listed as previous generation. Redshift Serverless measures capacity in Redshift Processing Units (RPUs, 16 GB of memory each) and scales automatically from a base capacity you set. Objects are addressed as database.schema.table.

Side by side

AspectBigQueryAmazon Redshift
Cloud Google Cloud; BigQuery Omni queries S3 and Azure Blob data in selected regions AWS only
Compute model Always serverless: slots on demand, or reservations with autoscaling Provisioned RG, RA3 or DC2 clusters, or Redshift Serverless workgroups
Compute billing On demand per TiB processed, or slot-hours by edition (1-minute minimum, per second with fluid scaling) Node-hours (reserved nodes available), or Serverless RPU-hours per second with a 60-second minimum
Capacity controls Maximum bytes billed per query; reservation baseline and maximum slots, autoscaling in steps of 50 Serverless base capacity 4 to 1,024 RPUs (default 128), maximum capacity, max RPU-hours, price-performance target
Concurrency Fair scheduling of slots across projects and jobs; idle slots shared within an edition WLM queues with Concurrency Scaling clusters on provisioned; automatic scaling on Serverless
Semi-structured data JSON type (500 nesting levels), plus typed ARRAY and STRUCT; UNNEST SUPER type (16 MB per value); PartiQL navigation and FROM-clause unnesting
Open table formats Apache Iceberg managed tables in your Cloud Storage buckets Queries Iceberg tables catalogued in AWS Glue; RG and Serverless use their own compute
Data sharing BigQuery sharing (formerly Analytics Hub), linked datasets, data clean rooms Data sharing across clusters, workgroups, accounts and Regions, including writes; AWS Data Exchange
Free start Free tier: 1 TiB of queries and 10 GiB of storage per month Serverless trial credit for new users (see pricing)
Main trade-off On-demand cost follows bytes scanned, so table design and query habits drive the bill More decisions: provisioned or Serverless, node type, base RPUs, distribution and sort keys

Key differences

Two kinds of serverless

BigQuery has no clusters in either billing model. On demand, a project uses slots from a shared pool and pays for bytes processed. With editions, you create reservations, assign projects to them, and set an optional baseline plus a maximum; Google documents that autoscaling adds slots in multiples of 50 and that you pay for the slots scaled, not the slots used.

Redshift Serverless is closer to an automatically sized warehouse. You create a workgroup with a base capacity: 4 RPUs, or 8 to 512 in steps of 8, and up to 1,024 in US East (N. Virginia and Ohio), US West (Oregon), Europe (Ireland) and Europe (Frankfurt). AWS documents that 4 base RPUs supports up to 32 TB of managed storage and recommends limiting tables to 100 columns at that size, and that 8 or 16 base RPUs supports up to 128 TB. New workgroups have AI-driven scaling enabled with a Balanced price-performance target, and you can cap spend with maximum capacity and maximum RPU-hours. You are billed while queries run, not per byte scanned.

Provisioned capacity for steady workloads

Redshift also keeps provisioned clusters. With RG and RA3 nodes you choose node count for the compute you need and pay for managed storage separately; data beyond the local SSDs is offloaded to Amazon S3 at the same storage rate. Clusters can be paused (AWS documents that only backup storage is billed while paused) and resized, and reserved nodes lower the rate for one- or three-year terms. AWS lists RG node advantages over RA3 as Graviton instances and an integrated data lake query engine.

BigQuery's equivalent of buying steady capacity is an edition commitment: Google lists 20% off for one year and 40% for three years on Enterprise and Enterprise Plus, with baseline slots. Standard edition offers autoscaling only, with no commitments, no BigQuery ML or BI Engine, and a lower service level objective (99.9% against 99.99% for Enterprise and Enterprise Plus).

Concurrency and workload isolation

BigQuery's scheduler shares slots equally between projects in a reservation and then between jobs in each project, and idle slots can be borrowed by other reservations of the same edition in the same administration project. Isolation is achieved by giving workloads separate reservations.

On a provisioned Redshift cluster, isolation is managed with workload management (WLM) queues; turning on Concurrency Scaling for a queue sends eligible queries to extra clusters when the queue is full. AWS documents support for reads and for COPY, INSERT, DELETE, UPDATE, CTAS and VACUUM on RG and RA3, one free hour of credit per 24 hours per cluster, and exclusions such as temporary tables and Python or Lambda UDFs. Separate Serverless workgroups connected by data sharing are the other way to isolate workloads.

Semi-structured data: JSON against SUPER

BigQuery's JSON type supports dot and subscript access, JSON_VALUE for scalar extraction and LAX_ conversion functions; Google lists a 500-level nesting limit and notes that JSON columns cannot be partitioned or clustered on. Redshift's SUPER type holds up to 16 MB per value and is queried with PartiQL; navigation is lax by default, so a missing attribute returns NULL.

BigQuery GoogleSQL:

SELECT JSON_VALUE(e.payload, '$.customer.id') AS customer_id,
       JSON_VALUE(item, '$.sku')             AS sku
FROM mydataset.events AS e,
     UNNEST(JSON_QUERY_ARRAY(e.payload, '$.items')) AS item;

Amazon Redshift:

SELECT e.payload.customer.id AS customer_id,
       i.sku                 AS sku
FROM events e, e.payload.items i;

SQL dialect differences

Both support QUALIFY. In Redshift, a table that is followed directly by QUALIFY must have an alias.

-- BigQuery GoogleSQL
SELECT customer_id, order_id, order_ts
FROM mydataset.orders
WHERE order_ts IS NOT NULL
QUALIFY ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_ts DESC) = 1;

-- Amazon Redshift
SELECT o.customer_id, o.order_id, o.order_ts
FROM orders o
QUALIFY ROW_NUMBER() OVER (PARTITION BY o.customer_id ORDER BY o.order_ts DESC) = 1;

Date functions are where ports break. BigQuery's DATE_DIFF takes the later date first and the unit last; Redshift's DATEDIFF takes the unit first and returns the second date minus the first. DATE_TRUNC argument order is reversed as well.

-- BigQuery GoogleSQL
SELECT DATE_DIFF(end_date, start_date, DAY) AS days_open,
       DATE_TRUNC(start_date, MONTH)       AS start_month
FROM mydataset.tickets;

-- Amazon Redshift
SELECT DATEDIFF(day, start_date, end_date) AS days_open,
       DATE_TRUNC('month', start_date)     AS start_month
FROM tickets;

Physical design differs too: Redshift tables carry distribution and sort keys, while BigQuery uses partitioning and clustering, which also determine how many bytes an on-demand query is billed for. Note that AWS has announced that Redshift no longer supports Python UDFs after 30 June 2026.

Sharing, lakes and multi-cloud reach

BigQuery sharing (formerly Analytics Hub) publishes listings in exchanges; subscribers get read-only linked datasets without copies, with commercial listings through Google Cloud Marketplace and support for data clean rooms. Redshift data sharing shares live data across clusters, Serverless workgroups, AWS accounts and Regions, can grant writes as well as reads, and can license data through AWS Data Exchange.

For lakes, BigQuery offers Apache Iceberg managed tables stored in your own Cloud Storage buckets, readable by engines such as Apache Spark. Redshift queries Iceberg tables catalogued in the AWS Glue Data Catalog; on RG and Serverless this runs on the warehouse's own compute with no separate charge, while RA3 and DC2 use Redshift Spectrum. Only BigQuery reaches beyond its home cloud: BigQuery Omni runs BigQuery in some AWS regions and Azure East US 2 against S3 or Blob data, but Google documents that it supports only Enterprise edition or on-demand pricing and excludes DML, JavaScript UDFs and BigQuery ML. Redshift has no equivalent for Google Cloud or Azure data.

Pricing and licensing

BigQuery. Compute is on demand, charged per TiB processed, or capacity, charged per slot-hour by edition with a one-minute minimum (per second with fluid scaling). Google's editions documentation lists commitments of one year (20% discount) and three years (40%) for Enterprise and Enterprise Plus. Storage is billed separately on logical or physical bytes, with a lower long-term rate after 90 days without modification. The Google Cloud free tier includes 1 TiB of query processing and 10 GiB of storage per month, and new Google Cloud customers receive USD 300 of credit for 90 days. We could not read the BigQuery pricing page in full, so no per-TiB or slot-hour prices are quoted; use the Google Cloud pricing calculator.

Amazon Redshift. The AWS Redshift pricing page, checked in October 2026, lists provisioned node-hours by node type (RG, RA3, previous-generation DC2) with one- and three-year reserved nodes, plus managed storage per GB-month for RG and RA3. Redshift Serverless is billed in RPU-hours per second with a 60-second minimum; AWS's pricing examples use USD 0.375 per RPU-hour in US East (N. Virginia). Redshift Spectrum (used by RA3 and DC2 for lake queries) is billed per TB scanned, and Concurrency Scaling earns one free hour per 24 hours per cluster. New Redshift Serverless users receive a USD 300 credit that expires after 90 days.

The models reward different habits: on-demand BigQuery rewards reading fewer bytes (partition filters, selecting only needed columns), while Redshift Serverless rewards keeping base capacity and run time in check. Price your actual query pattern in both calculators.

Pricing checked on the vendors' official pages on 7 October 2026. Prices change; confirm before buying.

Where each one leads

BigQuery strengths

  • No clusters or workgroups to size; queries run on demand
  • Per-query billing with a monthly free tier, and maximum bytes billed to stop costly queries
  • BigQuery Omni can query some S3 and Azure Blob data in place
  • Edition commitments and reservations for predictable spend at scale
  • BigQuery sharing with data clean rooms and Google Cloud Marketplace listings

Amazon Redshift strengths

  • Choice of Serverless or provisioned clusters with reserved nodes
  • Serverless spend limits: maximum capacity, maximum RPU-hours and a price-performance target
  • Data sharing across accounts and Regions with write access
  • Native IAM, VPC, S3 and Glue Data Catalog integration on AWS
  • PostgreSQL-derived SQL that is familiar to many developers

Limitations

BigQuery limitations

  • On-demand cost grows with bytes scanned; LIMIT does not reduce it on non-clustered tables
  • Autoscaled slots are billed as scaled, not as used
  • Standard edition lacks commitments, BigQuery ML and BI Engine, with a lower SLO
  • Omni covers few regions and excludes DML and BigQuery ML

Amazon Redshift limitations

  • AWS only, with no equivalent of Omni for other clouds
  • More capacity decisions: provisioned or Serverless, node type, base RPUs, distribution and sort keys
  • SUPER values are limited to 16 MB
  • Python UDFs are no longer supported after 30 June 2026
  • Concurrency Scaling has documented exclusions, such as temporary tables and Python or Lambda UDFs

When to choose each

Choose BigQuery if

  • Your data and applications are on Google Cloud
  • Query volume is irregular and paying per TiB processed fits better than paying for running capacity
  • You want no compute objects to manage at all
  • You need to analyse some data that stays in S3 or Azure Blob Storage

Choose Amazon Redshift if

  • Your data and applications are on AWS
  • You run steady workloads that suit reserved provisioned nodes
  • You want a serverless warehouse billed for run time rather than bytes scanned
  • Your lake tables are catalogued in AWS Glue and you want to join them with warehouse tables

When neither is right

Final recommendation

Bottom line

Pick the warehouse that lives in the same cloud as your data: BigQuery on Google Cloud, Amazon Redshift on AWS. If the choice is open, BigQuery suits teams that want no compute to manage and irregular, per-query spending, provided tables are partitioned and clustered so scans stay small. Redshift suits teams that want explicit control, whether through a Serverless base capacity and spend limits or through reserved provisioned clusters, and that are building on S3 and the Glue Data Catalog. If you need more than one cloud, look at Snowflake instead.

Frequently asked questions

Is Redshift Serverless the same as BigQuery's serverless model?

No. BigQuery on demand bills per TiB processed and needs no capacity settings. Redshift Serverless bills per RPU-hour while queries run, from a base capacity you choose (default 128 RPUs), with optional maximums and a price-performance target.

Can Redshift query data in Google Cloud, or BigQuery query data in AWS?

BigQuery Omni can query data in Amazon S3 and Azure Blob Storage in a limited set of regions, with documented feature limits. Redshift does not document an equivalent for Google Cloud or Azure data.

Which is cheaper, BigQuery or Redshift?

It depends on the workload. On-demand BigQuery is inexpensive for selective queries on partitioned or clustered tables and costly for repeated full scans. Redshift Serverless costs follow run time and RPUs, and provisioned clusters with reserved nodes suit steady use. Model your own queries in both vendors' calculators.

How does DATEDIFF differ between Redshift and BigQuery?

Redshift uses DATEDIFF(day, start_date, end_date), unit first, returning end minus start. BigQuery uses DATE_DIFF(end_date, start_date, DAY), later date first and unit last.

Do both support JSON data?

Yes. BigQuery has a native JSON type with up to 500 nesting levels. Redshift uses the SUPER type, up to 16 MB per value, queried with PartiQL.

Sources

Checked October 2026.

How we research comparisons: our editorial method.

More comparisons

Browse all SQL comparisons or the tools directory.