According to the pricing page, a new tiered pricing model will be introduced for BigQuery on January 1st 2016.
We'd like to be able to predict any cost implications this may have to our applications. So we've taken a look at the JSON response for some of our more complex queries to see what 'tier' has been assigned to it.
The billingTier
tier is clearly visible in the JSON response.
200 OK
- Show headers -
{
"kind": "bigquery#job",
[...]
"totalBytesProcessed": "45319172942",
"query": {
"totalBytesProcessed": "45319172942",
"totalBytesBilled": "45319454720",
"billingTier": 1,
"cacheHit": false
}
Is this just a default tier assigned (tier 1) until the new pricing model kicks in on Jan 1st 2016, or is it a true indication of the tier assigned to the query?
BigQuery storage charges are also billed to the attached billing account. You can view BigQuery costs and trends by using the Cloud Billing reports page in the Google Cloud console.
In this pricing model, you are charged for the number of bytes processed by your query. Also, you are not charged for queries that return an error and queries loaded from the cache. BigQuery charges you $5 per TB of a query processed. However, 1st 1TB per month is not billed.
Using SELECT * is the most expensive way to query data. When you use SELECT * , BigQuery does a full scan of every column in the table.
The billingTier
field is a true indicator of the tier assigned to the query according to our upcoming pricing structure. If this field is set to 1, then your query would be billed at current (tier 1) rates under the new pricing structure.
Note that billing tier is computed separately on each invocation of a query, so there's no strict guarantee that the same query will always fall in the same billing tier. I'd recommend spot-checking a reasonable sample of your queries to get a general sense of where your workload will fall under the new pricing structure.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With