Skip to main content
Welcome back. In this lesson we explain how BigQuery storage types and compute pricing interact, and how to manage costs effectively. We cover:
  • BigQuery storage tiers: active vs long-term
  • Physical vs logical storage and how billing is applied
  • Compute (slots) and pricing models: on-demand, flat-rate, and flex slots
  • Practical guidance to reduce storage and query costs
Table partitioning and clustering improve performance and lower query costs by reducing the bytes scanned. Even after optimizing table design, storage and processing fees can still add up. This article shows how BigQuery charges for storage and compute so you can choose the best cost-management approach.

Active vs Long-Term Storage

BigQuery applies two main storage tiers with automatic billing behavior:
  • Active storage: Data modified or ingested in the last 90 days. Billed at the standard storage rate and kept ready for frequent access.
  • Long-term storage: Data unchanged for 90 consecutive days. BigQuery automatically applies a discounted long-term rate (typically about half of active pricing).
Use cases:
  • Active: frequently queried datasets (recent product catalog, operational tables).
  • Long-term: historical reports, compliance archives, backups that are rarely modified.
Storage TierWhen it appliesTypical use casePricing example
Active storageData modified within the last 90 daysFrequently queried datasets~$0.020 / GB / month
Long-term storageData unmodified for 90+ consecutive daysArchival/historical data~$0.010 / GB / month
A presentation slide titled "Storage Types and Cost Management" showing a table that compares storage types (Active, Long-Term, Physical, Logical) with descriptions, pricing, and use cases. It notes example prices for active and long-term storage (0.020 and 0.010 per GB/month) and billing based on compressed or logical size for the others.

Physical vs Logical Storage (and billing considerations)

Understanding physical vs logical storage helps explain why you might see differences between storage billed and query bytes processed.
  • Physical storage: The actual bytes written to disk after BigQuery’s columnar compression. Billing and reported storage usage in the console are based on this compressed size.
  • Logical storage: The uncompressed size or the conceptual amount of data in table columns. Logical layout determines how many bytes a query reads (bytes processed).
Key billing points:
  • Storage charges are based on the physical (compressed) size and the applied storage tier (active or long-term).
  • Query charges (on-demand) are based on bytes processed—driven by logical size and which columns/partitions the query reads.
  • Compression reduces storage costs and I/O, but query charges depend on which logical data the query scans; compression alone won’t eliminate query costs.
ConcernBilling basisImpact on cost
StoragePhysical (compressed) bytesReduces storage costs when compression effective
Query processingLogical bytes scanned (columns read)Drives on-demand query charges; partition/clustering reduce this
BigQuery automatically applies the long-term storage discount to data that hasn’t been modified for 90 consecutive days—no manual action required.

Compute and Slot Pricing

BigQuery executes queries on slots (virtualized CPU capacity). You can pay for slots in multiple ways, depending on predictability and scale of workloads.
  • On-demand (pay-per-query)
    • Pricing: pay per bytes processed (commonly quoted per TB processed).
    • Best for: ad-hoc analysis, unpredictable workloads, experimentation.
    • Pros: no upfront commitment.
    • Cons: costs can spike with many or inefficient queries, or when large unpartitioned tables are scanned.
  • Flat-rate (reservations)
    • Pricing: reserve a fixed number of slots for a predictable monthly cost.
    • Best for: steady, production workloads requiring predictable performance.
    • Pros: consistent performance and predictable spend for large teams.
    • Cons: higher upfront cost; typically used by organizations with sustained usage.
  • Flex slots
    • Pricing: short-term slot reservations (hourly) to temporarily increase capacity.
    • Best for: short bursts (end-of-month reporting, heavy ETL window).
    • Pros: scale up only when needed without long-term commitment.
    • Cons: limited to temporary bursts; may require orchestration to use effectively.
Choose the right compute model carefully: on-demand can be cost-effective for small or sporadic workloads, while flat-rate is usually more economical for sustained, high-volume query traffic. Monitor slot utilization and query efficiency to avoid overspending.

How costs add up

Your BigQuery bill typically includes:
  • Storage: active and long-term rates depending on last modification.
  • Query processing: on-demand (bytes processed) or slot usage (flat-rate/flex).
  • Data ingestion: streaming inserts or certain loading methods may incur additional fees.
Simple guidance to manage costs:
  • Use partitioning and clustering to limit the amount of data scanned by queries.
  • Select only the columns you need in queries to reduce logical bytes processed.
  • Move rarely modified data to long-term tier automatically by allowing 90 days without modification.
  • Choose on-demand for low/unpredictable usage; choose flat-rate for stable, predictable workloads; use flex slots for short bursts.
Cost areaHow to reduce it
StorageColumnar compression, table design, remove unused data, rely on automatic long-term discount
Query processingPartitioning, clustering, selective column projection, optimize SQL and use approximate functions where applicable
IngestionBatch load instead of streaming when possible to avoid streaming costs

References and further reading

A presentation slide titled "Pricing Models" that outlines storage pricing components (data storage, query processing, data ingestion) and shows a comparison table of pricing models. The table lists On-Demand (5 per TB processed), Flat-Rate (2,000+ per month), and Flex Slots ($4 per slot-hour) with columns for what each is best for and considerations.

Summary

  • Organize datasets so queries read only what they need: use partitioning, clustering, and column projection to minimize bytes processed.
  • BigQuery automatically applies long-term storage pricing after 90 days of no modifications—leverage this for archival/backup data.
  • Choose on-demand, flat-rate, or flex slots based on usage patterns to control compute costs.
  • Monitor both storage and query processing charges for a complete picture of BigQuery spend.
That is it for this lesson. See you in the next one.

Watch Video