Should my dataset use logical or physical storage billing?
Per-dataset comparison of both billing models at current list prices.
Free to run — INFORMATION_SCHEMA scans no billable bytesChecked 4 Aug 2026
JOBS and TABLE_STORAGE are region-scoped.
-- Compare the two storage billing models per dataset.
-- US multi-region list prices: logical $0.02/GiB active, $0.01 long-term;
-- physical $0.04/GiB active, $0.02 long-term. Substitute your region's rates.
SELECT
table_schema,
ROUND(SUM(active_logical_bytes) / POW(1024, 3) * 0.02
+ SUM(long_term_logical_bytes) / POW(1024, 3) * 0.01, 2) AS logical_model_usd,
ROUND(SUM(active_physical_bytes) / POW(1024, 3) * 0.04
+ SUM(long_term_physical_bytes) / POW(1024, 3) * 0.02
+ SUM(time_travel_physical_bytes + fail_safe_physical_bytes)
/ POW(1024, 3) * 0.04, 2) AS physical_model_usd,
ROUND(SAFE_DIVIDE(SUM(total_logical_bytes),
SUM(total_physical_bytes)), 2) AS compression_ratio
FROM `region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
WHERE NOT deleted
GROUP BY table_schema
ORDER BY logical_model_usd DESC;What it returns
- logical_model_usd
- Monthly storage cost under logical (uncompressed) billing.
- physical_model_usd
- Monthly cost under physical billing — including time travel and fail-safe, which logical billing does not charge for.
How to read it
- Physical billing charges roughly double per byte but bills the compressed size, so it wins whenever compression beats about 2×. Well-structured columnar data often compresses 4–10×.
- The trap is time travel and fail-safe: logical billing ignores them, physical bills them. A heavily rewritten table can compress well and still be cheaper on logical.
- The setting is per dataset and there is a cooldown before you can switch back. Verify against your region's real rates before changing anything.
Run this once, or have it run every day.
Finitizer evaluates this class of question continuously against your live BigQuery estate, tracks how each number moves between runs, and turns findings into assigned tasks. Read-only and keyless.