Google bigquery BigQuery是否能够足够快地满足实时现场请求

Google bigquery BigQuery是否能够足够快地满足实时现场请求,google-bigquery,response-time,Google Bigquery,Response Time,我正在研究是否可以使用BigQuery及其API根据访问者查看的内容进行现场查询。因此,响应时间至关重要。 我加载了一个包含10k行(4列)的非常简单的结构化数据集,并运行了一个非常简单的查询,这需要1到2秒的时间。 我的问题很容易回答,我能得到一个用于大规模数据集交互式分析的BigQuery吗 处理时间预计在几秒钟内。 同时,期望对较小的数据集运行查询将使运行时处于第二个级别是不现实的,因为它不是这样设计的。 无论数据大小如何,您仍然“支付”所有费用,就好像您要处理大数据集一样 因此,简短的回

我正在研究是否可以使用BigQuery及其API根据访问者查看的内容进行现场查询。因此,响应时间至关重要。 我加载了一个包含10k行(4列)的非常简单的结构化数据集,并运行了一个非常简单的查询,这需要1到2秒的时间。
我的问题很容易回答,我能得到一个用于大规模数据集交互式分析的BigQuery吗 处理时间预计在几秒钟内。
同时,期望对较小的数据集运行查询将使运行时处于第二个级别是不现实的,因为它不是这样设计的。
无论数据大小如何,您仍然“支付”所有费用,就好像您要处理大数据集一样

因此,简短的回答是:

今天——不是!明天——不是!日后–你永远不知道,但我不这么认为,除非BigQuery将演变成其他东西。

BigQuery不是一个在线事务处理(OLTP)数据库,而是一个交互式分析数据库,可以在几秒钟内扫描数TB的数据。虽然查询时间相当一致,但由于它是一个共享服务,因此无法保证查询时间,即运行2秒的查询可能在不同的时间段运行1.5秒或3秒。由于BigQuery的性质和内部结构,目前小于1s的查询时间是不现实的


一种流行的设计模式是让BigQuery对数据进行繁重的复杂分析,然后将结果存储在OLTP(如mySQL)甚至内存(如Redis)数据库中,并将结果从那里提供给客户端。您可以通过在后台运行查询来定期更新数据。

尽管其他人已经表示答案是“否”,但您可能会感兴趣地查看一下。它允许您直接对云存储(BigQuery的数据物理存储在云存储中)在常规表上运行简单的
SELECT
-
WHERE
-查询。它应该比常规的BigQuery API更快,但可能不会在1s内可靠响应(虽然我自己还没有尝试过,但一旦尝试过就会更新我的答案)。

感谢您的回答!那么,使用Google Cloud SQL与Google App Engine相结合的解决方案是否更适合您呢?@Arjen-这取决于您的数据量。对于包含4列的10k行,我肯定会使用CloudSQL Gen1或Gen2,并使用AppEngine提供结果。只需确保您有正确的索引,这样您的查询将从索引而不是完全扫描中提供。这只是出于测试目的。假设是10万行25列,CloudSql仍然是一个合乎逻辑的选择吗?@Arjen-我想是的。只要您预先知道要运行哪些查询并相应地构建索引,就可以使用CloudSQL。@Arjen-如果您对我的答案感到满意,请将其标记为“已接受”。这是。非常感谢。在我看来,这个描述相当准确——你可以删除答案中的“谷歌人很敏感”部分:)