允许许多用户同时查看陈旧的BigQuery数据查询结果

时间:2017-06-26 06:02:54

标签: google-bigquery

如果我有一个BigQuery数据集,其中包含我希望向1000人提供的数据(其中每个人都只能查看他们的数据子集,并且可以查看他们的24小时陈旧版本数据),如何在不超过50个并发查询限制的情况下执行此操作?

在BigQuery文档中提到了允许50个并发查询,这些查询可以提供现场准确的数据,如果我需要它们能够全部查看现场准确的数据,我会超越这些数据 - 我不赞成“T。

在文档中提到允许批处理作业并将结果保存到目标表中我希望能以某种方式为我的场景提供可靠的解决方案,但是我很难找到有关这些批处理作业的可靠性或频率的信息可以预期运行,并且查询那些目标表中存在的结果的人本身是否计入50个并发用户限制。

任何建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

在不知道具体情况的情况下,根据输出中的数据量,我建议将自己的缓存放在BigQuery前面。

这听起来有点像仪表板/报告解决方案,因此我假设有大量数据进入并且出现的数量相对较少(每个用户)。

每天使用批处理脚本运行一个查询以生成输出(按用户分组),然后将其导出到GCS。然后,您可以将其分解为多个平面文件(或者只是将其读入前端的内存中)。每个用户都会点击您的前端,您可以确定输出的哪一部分供他们使用并做出响应。

如果您可以处理缓存的数据并且它足够小以至于处理BigQuery输出并不是太多的额外处理,那么这应该相对便宜。

如果您不希望额外设置新VM来托管您的前端,那么Google云端功能可能是一种处理此问题的简单方法。