BigQuery查询/分析定价如何运作?

时间:2012-07-01 14:34:15

标签: google-bigquery

我有一个BigQuery表,大约有34M行(几个月内会增长到~500M)。我得到了存储定价,但我真的不明白查询/分析定价的工作原理。

例如,如果我运行的查询是一个简单的选择,从大约20条记录中返回3列,则表示处理了644 MB。即使我删除了where子句中的列或条件,它仍然显示我正在处理6xx MB的数据。

有趣的是,如果我从表中运行select count(*),它会报告处理0个字节。

BigQuery的一个用例是创建仪表板和临时报告。但是,如果针对该表每两个查询花费0.03美元,我就不会看到这是如何实用的。

我错过了什么吗?是否有减少简单数据访问处理数据量的策略?

1 个答案:

答案 0 :(得分:2)

the BigQuery pricing documentation。基本上,您需要支付所访问列的完整大小,因为每个BigQuery查询都会读取所提到的每个列。例如,

select foo, bar from table1 where foo=1

将向您收取访问表1中foo和bar列的整个大小的费用。

COUNT(*)读取表元数据以获取计数,因此不需要任何费用。

降低成本的一种方法是将数据拆分为多个表。您可以通过指示逗号分隔的表(如select foo from table1,table2)在单个查询中组合表。您还可以缓存结果(BigQuery不会自行执行任何缓存)。