BigQuery 按需与 Editions:每查询费用比较
您应该使用按需定价还是切换到 BigQuery Editions?此查询通过计算每种定价模式下每个查询的实际费用,在每查询基础上回答这个问题——按需、Standard Edition、Enterprise Edition(1 年和 3 年承诺)和 Enterprise Plus Edition。
为什么重要
对于正确的工作负载,BigQuery Editions 定价可以比按需节省 60-80%,但如果您的使用模式不匹配,也可能花费更多。没有数据就做这个决定是在赌博。此查询为您提供数据,通过比较项目中每个查询在所有定价层级的费用来做出明智的选择。
工作原理
查询为每个查询计算按需费用(计费字节 * $6.25/TiB)和 Editions 费用(槽位小时 * 每版本每小时费率)。它考虑了 BigQuery 的最低计费规则:Editions 最少 1 分钟持续时间和自动扩展器最少 100 个槽位增量。
SQL 查询
Fill in your details to get a ready-to-run query:
-- Compare on-demand vs Editions pricing for every query
DECLARE lookback_days INT64 DEFAULT 30;
WITH base AS (
SELECT
project_id, query, start_time, end_time,
SAFE_DIVIDE(total_slot_ms,
TIMESTAMP_DIFF(end_time, start_time, MILLISECOND)) AS avg_slots,
COALESCE(total_bytes_billed, 0) / POW(1024, 4) AS tib_billed,
TIMESTAMP_DIFF(end_time, start_time, MILLISECOND) AS duration_ms
FROM `your-project`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL lookback_days DAY)
AND state = 'DONE' AND total_slot_ms IS NOT NULL
),
billing AS (
SELECT *,
GREATEST(tib_billed, 10.0 / POW(1024, 2)) * 6.25 AS on_demand_usd,
CEIL(avg_slots / 100) * 100 AS billed_slots,
GREATEST(duration_ms, 60000) / 3.6e6 AS billed_hours
FROM base
),
with_editions AS (
SELECT *,
billed_slots * billed_hours * 0.04 AS standard_usd,
billed_slots * billed_hours * 0.06 AS enterprise_usd,
billed_slots * billed_hours * 0.048 AS enterprise_1yr_usd,
billed_slots * billed_hours * 0.036 AS enterprise_3yr_usd
FROM billing
)
...查询说明
查询首先计算每个查询的估算槽位数和执行时间。然后应用 Editions 计费规则:将槽位向上取整到最近的 100,并强制执行 1 分钟最低持续时间。按需费用使用 $6.25/TiB。Edition 费用使用公布的每槽位小时费率:Standard $0.04,Enterprise $0.06,Enterprise 1年 $0.048,Enterprise 3年 $0.036。
关键洞察
长时间使用少量槽位的查询按需更便宜。短时间使用大量槽位的查询在 Editions 上更便宜。
如果 >70% 的查询推荐同一版本,这是切换整个项目的强烈信号。
混合建议表明混合方法:计划繁重查询使用 Editions,轻量临时工作使用按需。
最大的节省来自 Enterprise 3 年承诺($0.036/槽位小时 vs 按需 $6.25/TiB)。
最佳实践
- 1
在至少 30 天的数据上运行此分析以获得可靠的建议。
- 2
对每种计费模式的所有查询求和总费用,以获得项目级建议。
- 3
考虑您的增长轨迹——如果数据量在增长,Editions 随着时间推移会相对更便宜。
- 4
在承诺 1 年或 3 年条款之前,先从 Standard 或 Enterprise Edition(无承诺)开始测试。