使用Bigquery的库和api查询是否有限制?

时间:2018-01-17 22:30:19

标签: sql database google-bigquery google-cloud-platform

我想知道在查询已经加载到bigquery中的数据时是否有任何限制?

例如,如果我想从Web应用程序或“Web服务”中提取大量查询信息,那么我的选择,更新和删除限制是什么?

文档告诉我:

按需定价下的交互式查询的并发速率限制:50个并发查询。返回缓存结果的查询或使用dryRun属性配置的查询不计入此限制。

每日查询大小限制:默认情况下不受限制,但您可以使用自定义配额指定限制。

但是我无法理解我每天的咨询次数是否有限制,如果是的话,我的限制是什么?

1 个答案:

答案 0 :(得分:2)

您可以在特定时间为查询分配的插槽数量有限制。

一些小块:

  • 广告位:代表一个计算容量单位。
  • 查询:根据需要使用尽可能多的插槽,以便查询以最佳方式运行(目前:按需价格最多50个广告位) [A]
  • 项目:每个项目使用的广告位数取决于同时运行的查询数量(目前:按需价格的MAX 2000广告位)

[A] 这一切都在没有用户干预的情况下进行。 BigQuery对查询进行评估,以计算所需的插槽数。

因此,如果您进行数学计算,最糟糕的情况是,如果您的所有查询都使用50个插槽,那么在您同时运行40个以上的查询之前,您将找不到任何副作用。即使在这些情况下,查询也会在队列中暂停一段时间,并在执行完一些查询后开始运行。

如果您对按时获取数据非常敏感并且在以下环境中运行,则插槽会变得更加令人担忧:

  • 许多查询同时运行。
  • 大多数同时运行的查询通常需要很长时间才能在空载时执行。

了解这些限制是否会对您产生影响的最佳方法是监控项目中的当前活动。 Bigquery建议您使用Stackdriver监视您的插槽。

更新:Bigquery在其中一篇博文中解决了查询优先级问题 - Truth 5: BigQuery supports query prioritization