BigQuery 提供可调节的灵活价格选项,更加贴合您的项目和预算。BigQuery 会收取数据存储、流式插入和数据查询的费用,但免费提供数据加载和导出服务。
BigQuery 价格包含存储费用(固定费率)和查询费用(基于使用量)。项目存储空间使用量和查询使用量是以千兆字节 (GB) 为单位计算的,1GB 是 230 个字节。此计量单位也称为吉比字节 (GiB)。与之类似,1TB 是 240 个字节 (1024 GB)。如需详细了解存储空间和查询价格,请参阅 Google Cloud Platform SKU。
您创建的每个项目都有与之关联的结算帐号。在项目中运行的作业所产生的所有费用均会计入关联的结算帐号,即使与组织外的其他人共享了项目也是如此。BigQuery 存储费用也会计入关联的结算帐号。
BigQuery 提供费用控制机制,便于您将每天的费用限制在选定金额范围内。如需了解详情,请参阅费用控制。
如果您使用美元以外的货币支付,请参阅在 Cloud Platform SKU 上以您的币种列出的价格。
下表汇总了 BigQuery 的价格。下列操作必须遵循 BigQuery 的配额政策。
操作 | 费用 | 备注 |
---|---|---|
存储 | 每 GB 每月 $0.02 | 每月前 10 GB 免费,详情请参阅存储价格。 |
长期存储 | 每 GB 每月 $0.01 | 请参阅长期存储价格。 |
流式插入 | 每 GB $0.05 | 请参阅存储价格。 |
查询 | 每 TB $5 | 每月前 1 TB 免费,详情请参阅按需使用价格。 查询量较大的客户也可选择固定价格。 |
加载数据 | 免费 | 请参阅将数据加载到 BigQuery 中。 |
复制数据 | 免费 | 请参阅复制表。 |
导出数据 | 免费 | 请参阅从 BigQuery 导出数据。 |
元数据操作 | 免费 | 对 list、get、patch、update 和 delete 的调用。 |
如果您使用美元以外的货币支付,请参阅在 Cloud Platform SKU 上以您的币种列出的价格。
免费操作
下表列出了免费的 BigQuery 操作。下列操作必须遵循 BigQuery 的配额政策。
操作 | 示例 |
---|---|
加载数据 | 将数据加载到 BigQuery 中 |
复制数据 | 复制现有的表 |
导出数据 | 从 BigQuery 导出数据 |
元数据操作 | 对 list、get、patch、update 和 delete 的调用 |
存储价格
您可以免费将数据加载到 BigQuery 中,但需要为流式传输的数据支付少许费用。存储价格基于您表中存储的数据量,而数据量是基于您存储的数据类型计算的。如需详细了解我们如何计算您的数据大小,请参阅数据大小计算。
存储量超过 10 GB 后,超出的部分按以下方式计费:
存储操作 | 费用 |
---|---|
存储 | 每 GB 每月 $0.02。 |
流式插入 | 每 GB 收 $0.05,每一行最小计为 1 KB。 |
如果您使用美元以外的货币支付,请参阅在 Cloud Platform SKU 上以您的币种列出的价格。
存储价格基于每秒每 MB 的价格按比例计算。例如,如果您的存储情况如下:
- 存储 100 MB 半个月,则需要支付 $0.001(十分之一美分)
- 存储 500 GB 半个月,则需要支付 $5
- 存储 1 TB 一整月,则需要支付 $20
免费方案价格
(每个帐号)每月前 10 GB 存储量是免费的。
长期存储价格
如果某个表连续 90 天没有被修改,该表的存储价格会自动下降 50%(降为每 GB 每月 $0.01)。
如果表被视为长期存储,其存储介质的性能、耐用性、可用性和其他功能都不会降级。
如果表被修改,价格会恢复到常规的存储价格(每 GB 每月 $0.02),且上述 90 天连续未修改时间的计时器从零开始重新计数。
对表中数据所做的任何修改(加载数据、将数据复制到目标表、对目标表进行查询)都会重置上述计时器:
操作 | 备注 |
---|---|
附加 | 任何拥有目标表并使用 WRITE_APPEND 的 writeDisposition 的作业。 |
改写 | 任何拥有目标表并使用 WRITE_TRUNCATE 的 writeDisposition 的作业。 |
流式传输 | 使用 Tabledata.insertAll() API 调用提取数据 |
其他所有操作均不会重置计时器,包括:
- 从表中发起查询
- 创建视图
- 导出
- 从表中复制
- 打补丁
对于分区表,它的每一个分区都会被视为单独的个体来考虑是否适用长期存储价格。如果某个分区在过去 90 天内未被修改,则该分区中的数据将被视为长期存储,按折扣价计费。
对于在结算周期内达到 90 天阈值的表,我们会相应地按比例计算其价格。
长期存储价格仅适用于 BigQuery 存储,不适用于外部数据源。
查询价格
查询价格是指运行您的 SQL 命令和用户定义的函数所需的费用。BigQuery 根据处理的字节数这一指标收取查询费用。无论您是将数据存储在 BigQuery 中还是存储在外部数据源(例如 Google Cloud Storage、Google 云端硬盘或 Google Cloud Bigtable)中,我们都会根据处理的字节数向您收取费用。
免费方案价格
(每个结算帐号)每月免费处理 1 TB 数据。
按需使用价格
如果某月处理的数据量超过 1 TB,则超出的部分按以下方式计费:
资源 | 价格 |
---|---|
查询 | 每 TB $5 |
如果您使用美元以外的货币支付,请参阅在 Cloud Platform SKU 上以您的币种列出的价格。
- 您不需要为返回错误的查询或缓存的查询付费。
- 系统在计算费用时会四舍五入到最接近的 MB 数,查询引用的每个表处理的数据至少计为 10 MB,每个查询处理的数据也至少计为 10 MB。
- 取消正在运行的查询作业可能会产生费用,费用最高可达正常完成查询所需的全部费用。
- BigQuery 使用列式数据结构。我们根据您选择的列中处理的总数据量向您收取费用,而每列的总数据量是基于该列中的数据类型计算的。如需详细了解我们如何计算您的数据大小,请参阅数据大小计算。
- 如果您更希望每月支付稳定的费用,而不是以按需使用价格的方式支付费用,请参阅固定价格。
固定价格
BigQuery 提供固定价格模式,以满足查询量较大的客户或大型企业客户的需求,此类客户可能更希望每月支付稳定的查询费用,而不是根据处理的每 TB 数据以按需使用价格的方式支付费用。如果您选择固定价格,则处理的所有字节的费用都包含在每月固定价格中。
BigQuery 会根据客户的历史记录、使用情况和支出,自动管理 slot 配额。对于每月分析支出不少于 $40000 的客户,BigQuery 提供了多种方法来增加分配的 slot 数量。
固定价格:
- 仅适用于查询费用,不适用于存储。如需了解存储费用,请参阅存储价格。
- 适用于与采用固定价格的结算帐号关联的所有项目。
- 提供额外的 BigQuery slot。请查看下表了解详情。
- 为交互式查询提供额外的查询并发处理能力。
每月费用 | BigQuery Slot |
---|---|
$40000 | 2000 |
以 $10000 为单位递增 | 每个单位增量可增加 500 个 slot |
如果您使用美元以外的货币支付,请参阅在 Cloud Platform SKU 上以您的币种列出的价格。
如果有意了解固定价格,请与您的销售代表联系。
数据大小计算
在将数据加载到 BigQuery 中或查询数据时,您需要根据数据大小付费。我们根据每种数据类型的大小计算您的数据大小。
数据类型 | 大小 |
---|---|
STRING |
2 个字节 + UTF-8 编码字符串大小 |
INTEGER |
8 个字节 |
FLOAT |
8 个字节 |
BOOLEAN |
1 个字节 |
TIMESTAMP |
8 个字节 |
RECORD |
0 个字节 + 包含的字段的大小 |
所有数据类型的 null 值均计为 0 个字节。重复字段按条目数计算。例如,重复的 4 个 INTEGER
条目计为 32 个字节。
按需使用价格的查询费用示例
当您运行查询时,即使您对结果设置了明确的 LIMIT
,我们也会根据您选择的列中处理的总数据量向您收取费用。每列的总字节数是基于该列的数据类型计算的。如需详细了解我们如何计算您的数据大小,请参阅数据大小计算。
下表列出了几个示例查询以及对每个查询处理的字节数的说明。
示例查询 | 处理的字节数 |
---|---|
SELECT corpus, word FROM publicdata:samples.shakespeare LIMIT 1; |
corpus 列 + word 列的总大小 |
SELECT corpus FROM (SELECT * FROM publicdata:samples.shakespeare); |
corpus 列的总大小 |
SELECT COUNT(*) FROM publicdata:samples.shakespeare; |
没有处理任何字节 |
SELECT COUNT(corpus) FROM publicdata:samples.shakespeare; |
corpus 列的总大小 |
SELECT COUNT(*) FROM publicdata:samples.shakespeare WHERE corpus = 'hamlet'; |
corpus 列的总大小 |
SELECT shakes.corpus, wiki.language FROM publicdata:samples.shakespeare AS shakes JOIN EACH publicdata:samples.wikipedia AS wiki ON shakes.corpus = wiki.title; |
shakes.corpus 、wiki.language 和 wiki.title 列的总大小 |
BigQuery Data Transfer Service 价格
BigQuery Data Transfer Service 每月按比例收取费用。具体计费方式如下:
源应用 | 每月费用(按比例) |
---|---|
Google AdWords | 每个唯一客户 ID( |
DoubleClick Campaign Manager | 每个唯一广告客户 ID( |
DoubleClick for Publishers | 每个网络 ID $100 |
YouTube | 2018 年 4 月 1 日之前免费。YouTube 的价格将在日后公布。 |
在数据传输至 BigQuery 后,您需要按标准的 BigQuery 存储和查询费率付费。如需详细了解价格信息,请与销售人员联系。
计算唯一 ID
您创建的每个数据传输每天都会产生 1 次或多次运行。每次运行都会记录遇到的每个唯一 ID 以及传输运行完毕的日期。系统只会在传输完毕的日期统计 ID。例如,如果某次传输运行开始于 7 月 14 日,结束于 7 月 15 日,系统会在 7 月 15 日统计唯一 ID。
如果某天同一传输的多次运行都遇到了某个唯一 ID,则该 ID 只会计算一次;但不同传输会分别统计唯一 ID。如果两个不同传输的运行均遇到了某个唯一 ID,该 ID 会计算两次。
示例
示例 1:您有 1 个传输,且传输包含的 3 次运行均于同一天完成。
- 第一次运行记录了以下唯一 ID:A、B 和 C
- 第二次运行记录了:A
- 第三次运行记录了:C 和 D
由于所有运行均在同一天完成,我们会基于 4 个唯一 ID(A、B、C、D)向您收取费用。因为记录了 ID A 和 ID C 的是结束于同一天的两次不同运行,所以 ID A 和 ID C 各仅计一次。如果某个月的每一天都会完成这 3 次传输运行,那么您的月度费用基于 4 个唯一 ID 计算。如果传输运行完成的次数少于运行当月的天数,系统会按比例计费。
示例 2:您有多个传输,且传输包含的运行均在同一天完成。
- 传输 1 在运行后记录了以下唯一 ID:A、B 和 C
- 传输 2 在运行后记录了:A
- 传输 3 在运行后记录了:C 和 D
由于唯一 ID 在不同传输的运行中均需要计数,因此您需要基于 6 个唯一 ID(传输 1 的运行中记录的 A、B 和 C;传输 2 的运行中记录的 A;以及传输 3 的运行中记录的 C 和 D)付费。如果传输运行完成的次数少于运行当月的天数,系统会按比例计费。
计算数据回填费用
如果您安排了数据回填,则意味着您每天都安排了一次传输运行。在这种情况下,系统会根据计算唯一 ID 中描述的方法向您收取费用。