Storage

BigQuery Active Logical Storage

Storage for table data that has been modified in the last 90 days. Data untouched for 90 consecutive days moves automatically to a long-term SKU at about half the price — no purchase, no configuration. Any write to a table resets that clock.

Billed: Per gibibyte-month of uncompressed data modified within the last 90 days. A companion long-term SKU covers the rest at roughly half the rate.

BigQueryOn-demand

What triggers this charge

  • All table data in datasets using the logical (uncompressed) billing model.
  • Any modification to a table, which returns the whole table to active pricing and restarts the 90-day clock.
  • Daily full-refresh pipelines using WRITE_TRUNCATE, which guarantee the table never qualifies for long-term pricing.

How to reduce it

Load incrementally instead of truncating

On a partitioned table the 90-day clock runs per partition, so writing only new partitions lets history age into the discount by itself.

Compare the two billing models per dataset

Physical (compressed) billing charges roughly double per byte but bills the compressed size, so it wins wherever compression beats about 2×. Well-structured columnar data often compresses far better than that.

Set expirations on staging data

Table and partition expiration turn a permanent charge into a temporary one, and staging datasets are usually where forgotten terabytes live.

Rates

Rates for this SKU group are not shown yet — the catalog sync has not run. We publish rates from Google’s Cloud Billing Catalog API or not at all; a hand-typed rate that looks authoritative and is six months stale is worse than no rate. In the meantime, cloud.google.com/skus has the current list price.

Related charges

Now find out how much of this you are actually paying.

Finitizer breaks your Google Cloud bill down to the SKU, shows how each one has moved since last week, and separates rate changes from usage changes — so you know whether to talk to engineering or to procurement.