gcpbigquerydatacost-optimization

GCP BigQuery storage cost: active, long-term, and physical billing

BigQuery storage bills active data (recently modified) at about $0.02/GB-month and long-term data (untouched 90 days) at about half that, with an option to bill physical (compressed) bytes instead of logical. Here is how to cut storage cost.

The C3X Team··4 min read

Quick answer

BigQuery storage bills active storage (tables or partitions modified in the last 90 days) at about $0.02/GB-month and long-term storage (untouched 90 days) at about half that, automatically. You can also switch a dataset to physical (compressed) byte billing, which is cheaper for well-compressing data. Partition expiration and deleting stale data are the main storage levers, separate from query cost.

BigQuery cost has two independent sides: compute (querying, covered in the on-demand versus flat-rate comparison) and storage. Storage is often overlooked but grows steadily as data accumulates, and BigQuery gives you several levers to control it.

Active vs long-term storage

Storage typeRate (approximate)Applies when
Active~$0.02 / GB-monthTable or partition modified in last 90 days
Long-term~$0.01 / GB-monthNot modified for 90 days

BigQuery automatically discounts data to long-term storage (about half the active rate) when a table or partition has not been modified for 90 consecutive days. There is nothing to do to earn it, but it means editing old data resets it to active pricing, so avoid unnecessary rewrites of historical partitions.

Physical (compressed) byte billing

By default storage is billed on logical (uncompressed) bytes. You can switch a dataset to physical byte billing, which charges for the compressed bytes actually stored, at a higher per-byte rate but on far fewer bytes for well-compressing data. For datasets that compress well, physical billing is often cheaper overall. Evaluate it per dataset.

Controlling BigQuery storage cost

Set partition and table expiration so transient and old data is deleted automatically, avoid rewriting historical partitions (which resets long-term to active pricing), evaluate physical billing for well-compressing datasets, and delete or archive data you no longer query. Storage is separate from query cost, so these levers reduce the storage bill without affecting query performance.

FAQ

How is BigQuery storage priced?

Active storage (tables or partitions modified in the last 90 days) is about $0.02 per GB-month, and long-term storage (untouched for 90 days) is about half that, applied automatically. You can also switch a dataset to physical (compressed) byte billing, which is cheaper for well-compressing data.

What is BigQuery long-term storage?

An automatic discount to about half the active rate applied when a table or partition has not been modified for 90 consecutive days. There is nothing to configure, but editing old data resets it to active pricing, so avoid unnecessary rewrites of historical partitions.

Should I use physical or logical storage billing in BigQuery?

Logical (uncompressed) is the default. Physical (compressed) billing charges a higher per-byte rate but on the compressed bytes actually stored, so for datasets that compress well it is often cheaper overall. Evaluate it per dataset based on your compression ratio.

How do I reduce BigQuery storage cost?

Set partition and table expiration to delete transient and old data automatically, avoid rewriting historical partitions (which resets long-term to active pricing), evaluate physical byte billing for well-compressing datasets, and delete or archive data you no longer query.

Is BigQuery storage cost separate from query cost?

Yes. Storage (active and long-term, per GB-month) is billed independently of query compute (on-demand per TB scanned or flat-rate slots). Storage levers like expiration and physical billing reduce the storage bill without affecting query performance or cost.

Does C3X estimate BigQuery cost?

BigQuery cost is driven by storage volume and query bytes scanned, which are usage inputs. C3X prices the surrounding GCP infrastructure, and you model data volume and query patterns to estimate the storage and compute charges.

What to do next

Estimate the infrastructure around your data warehouse before you build it. C3X reads your Terraform and prices your resources against a live catalog. Start with the quickstart.

Try C3X on your own Terraform

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