新的 BigQuery 定价 'tiers'
New BigQuery pricing 'tiers'
根据 pricing page,BigQuery 将于 2016 年 1 月 1 日引入新的分层定价模型。
我们希望能够预测这可能对我们的应用程序产生的任何成本影响。因此,我们查看了一些更复杂查询的 JSON 响应,以查看分配给它的 'tier' 是什么。
billingTier
层在 JSON 响应中清晰可见。
200 OK
- Show headers -
{
"kind": "bigquery#job",
[...]
"totalBytesProcessed": "45319172942",
"query": {
"totalBytesProcessed": "45319172942",
"totalBytesBilled": "45319454720",
"billingTier": 1,
"cacheHit": false
}
在 2016 年 1 月 1 日新定价模型开始之前,这只是分配的默认层级(第 1 层),还是分配给查询的层级的真实指示?
billingTier
字段是根据我们即将推出的定价结构分配给查询的等级的真实指标。如果此字段设置为 1,则您的查询将按新定价结构下的当前(第 1 层)费率计费。
请注意,计费层级是在每次调用查询时单独计算的,因此不能严格保证同一查询始终属于同一计费层级。我建议抽查您的查询的合理样本,以大致了解您的工作负载在新定价结构下的位置。
如果您有兴趣,我已经编写了一个简单的脚本,如果 运行 每天将审计数据添加到包含用户同质化查询的大查询中的 table。我们正在使用它来审核查询成本并确定哪些 table 可能需要分片。
https://gist.github.com/ericuldall/ac475fe71d0ee2f3a5f0
此脚本估算的收费数据费用约为 5 美元/TB。
审计数据Table架构
job_id STRING NULLABLE
user STRING NULLABLE
size_in_gb FLOAT NULLABLE
estimated_cost FLOAT NULLABLE
sql STRING NULLABLE
timestamp TIMESTAMP NULLABLE
根据 pricing page,BigQuery 将于 2016 年 1 月 1 日引入新的分层定价模型。
我们希望能够预测这可能对我们的应用程序产生的任何成本影响。因此,我们查看了一些更复杂查询的 JSON 响应,以查看分配给它的 'tier' 是什么。
billingTier
层在 JSON 响应中清晰可见。
200 OK
- Show headers -
{
"kind": "bigquery#job",
[...]
"totalBytesProcessed": "45319172942",
"query": {
"totalBytesProcessed": "45319172942",
"totalBytesBilled": "45319454720",
"billingTier": 1,
"cacheHit": false
}
在 2016 年 1 月 1 日新定价模型开始之前,这只是分配的默认层级(第 1 层),还是分配给查询的层级的真实指示?
billingTier
字段是根据我们即将推出的定价结构分配给查询的等级的真实指标。如果此字段设置为 1,则您的查询将按新定价结构下的当前(第 1 层)费率计费。
请注意,计费层级是在每次调用查询时单独计算的,因此不能严格保证同一查询始终属于同一计费层级。我建议抽查您的查询的合理样本,以大致了解您的工作负载在新定价结构下的位置。
如果您有兴趣,我已经编写了一个简单的脚本,如果 运行 每天将审计数据添加到包含用户同质化查询的大查询中的 table。我们正在使用它来审核查询成本并确定哪些 table 可能需要分片。
https://gist.github.com/ericuldall/ac475fe71d0ee2f3a5f0
此脚本估算的收费数据费用约为 5 美元/TB。
审计数据Table架构
job_id STRING NULLABLE
user STRING NULLABLE
size_in_gb FLOAT NULLABLE
estimated_cost FLOAT NULLABLE
sql STRING NULLABLE
timestamp TIMESTAMP NULLABLE