BigQuery 是否足够快以应对实时现场请求
Can BigQuery be fast enough for real-time onsite request
我正在研究使用 BigQuery 及其 API 根据访问者查看的内容进行现场查询的可能性。因此,响应时间至关重要。
我加载了一个非常简单的结构化数据集,包含 10k 行(4 列)和 运行 一个非常简单的查询,需要 1 到 2 秒。
希望我的问题很容易回答,我是否能够通过某种方式优化数据来使用 BQ API 获得 <1 秒的响应时间?
提前致谢!
此致,
阿真
BigQuery 专为大规模数据集的交互式分析而设计。
处理时间预计在几秒内。
同时,期望 运行 针对较小数据集的查询将运行时间降低到秒级以下 - 仅仅因为它没有以这种方式设计是不现实的。
无论您拥有多大的数据——您仍然“支付”所有费用,就像处理大数据集一样。
所以,不幸的是,简短的回答:
今天——不!明天——不!第二天 – 你永远不知道,但我不这么认为,除非 BigQuery 会演变成其他东西
BigQuery 不是联机事务处理 (OLTP) 数据库,而是交互式分析数据库,可以在几秒钟内扫描数 TB 的数据。虽然查询时间非常一致,但由于它是共享服务,因此无法保证查询时间,即查询 运行ning 2 秒可能 运行 1.5 秒或 3 秒在不同的时间段。由于 BigQuery 的性质和内部结构,查询时间 < 1 秒在今天是不现实的。
一种流行的设计模式是让 BigQuery 完成复杂数据分析的繁重工作,然后将结果存储在 OLTP(如 mySQL)或什至内存(如 Redis)数据库中,并且从那里将结果提供给客户。您可以通过 运行 在后台查询来定期更新数据。
虽然其他人已经表示答案是否定的,但您可能会感兴趣地看看 BigQuery Storage API。它允许您 运行 简单 SELECT
-WHERE
- 直接针对云存储(这是 BigQuery 数据的物理存储位置)对常规表进行查询。它应该比常规的 BigQuery API 更快,但可能不会在 1 秒内可靠地响应(虽然我自己还没有尝试过,但一旦有就会更新我的答案)。
我正在研究使用 BigQuery 及其 API 根据访问者查看的内容进行现场查询的可能性。因此,响应时间至关重要。 我加载了一个非常简单的结构化数据集,包含 10k 行(4 列)和 运行 一个非常简单的查询,需要 1 到 2 秒。 希望我的问题很容易回答,我是否能够通过某种方式优化数据来使用 BQ API 获得 <1 秒的响应时间?
提前致谢!
此致, 阿真
BigQuery 专为大规模数据集的交互式分析而设计。
处理时间预计在几秒内。
同时,期望 运行 针对较小数据集的查询将运行时间降低到秒级以下 - 仅仅因为它没有以这种方式设计是不现实的。
无论您拥有多大的数据——您仍然“支付”所有费用,就像处理大数据集一样。
所以,不幸的是,简短的回答:
今天——不!明天——不!第二天 – 你永远不知道,但我不这么认为,除非 BigQuery 会演变成其他东西
BigQuery 不是联机事务处理 (OLTP) 数据库,而是交互式分析数据库,可以在几秒钟内扫描数 TB 的数据。虽然查询时间非常一致,但由于它是共享服务,因此无法保证查询时间,即查询 运行ning 2 秒可能 运行 1.5 秒或 3 秒在不同的时间段。由于 BigQuery 的性质和内部结构,查询时间 < 1 秒在今天是不现实的。
一种流行的设计模式是让 BigQuery 完成复杂数据分析的繁重工作,然后将结果存储在 OLTP(如 mySQL)或什至内存(如 Redis)数据库中,并且从那里将结果提供给客户。您可以通过 运行 在后台查询来定期更新数据。
虽然其他人已经表示答案是否定的,但您可能会感兴趣地看看 BigQuery Storage API。它允许您 运行 简单 SELECT
-WHERE
- 直接针对云存储(这是 BigQuery 数据的物理存储位置)对常规表进行查询。它应该比常规的 BigQuery API 更快,但可能不会在 1 秒内可靠地响应(虽然我自己还没有尝试过,但一旦有就会更新我的答案)。