![BigQuery 中的 DML 操作(定价、每日限制和最佳做法)](https://linux22.com/image/727335/BigQuery%20%E4%B8%AD%E7%9A%84%20DML%20%E6%93%8D%E4%BD%9C%EF%BC%88%E5%AE%9A%E4%BB%B7%E3%80%81%E6%AF%8F%E6%97%A5%E9%99%90%E5%88%B6%E5%92%8C%E6%9C%80%E4%BD%B3%E5%81%9A%E6%B3%95%EF%BC%89.png)
这是关于 BigQuery 中的 DML 操作(更新和删除)。我们在几次查询后就遇到了配额超出错误。因为我们计划在脚本中大量使用“更新和删除操作”。
您能帮我们了解一些事情吗?
我们可以增加每日配额吗?这需要额外付费吗?
查看了支持文档中关于DML操作的处理成本但是没有得到价格。(https://cloud.google.com/bigquery/pricing) 更新和删除操作的数据处理成本是多少?它与查询/提取成本(5 美元/TB)相同吗?
您是否建议在大型查询中频繁使用“更新和删除”操作,或者还有其他高效且经济实惠的方法?提前致谢。
答案1
希望这可以帮助:
付费客户(不再享受免费试用)可以申请增加配额,这无需额外付费。但是,由于配额对于保证资源可用性非常重要,因此您必须提供理由,说明这对您的业务案例而言是必要的。
您可以在提到的文档中找到 DML 定价,在数据操作语言部分. 逐字逐句地讲,定价将是:“查询扫描的表中引用的所有列的字节总和,加上 UPDATE/DELETE 开始时更新的表中所有列的字节总和”。
我不建议在 BigQuery 中频繁执行 DML 操作,这些操作效率不高而且成本高昂。BigQuery 适用于长期存储和数据分析,您可以将其视为数据仓库。对于事务数据库,请考虑其他选项,如传统关系数据库(GCP 中的 Cloud SQL 或 Spanner)或 No SQL 数据库(GCP Datastore 或 BigTable 中)。决策实际上取决于您的数据和业务案例。