大查询很慢

问题描述 投票:0回答:3

我刚刚开始使用双向查询,我的数据库很小(1 个表 10K 行),我的查询是简单的计数和分组。 每个请求平均需要 3-4 秒,但有时会跳到 10 秒,事件需要 15 秒 我正在使用 BQ 工具从爱尔兰的亚马逊 Linux 服务器进行查询。

是否可以更快地获得结果(不到 1 秒),以便我能够更快地展示我的网页。

google-bigquery
3个回答
6
投票

这是预期的行为。在 BigQuery 中,您使用的是共享基础架构,因此根据当前的使用情况,您会获得更好或更差的响应时间。实际上,通过不增加配额来鼓励和奖励批量查询(不需要交互性的查询)。

您通常不使用 BigQuery 作为主数据库来在 Web 应用程序中显示数据。根据您想要执行的操作,BigQuery 可以是大数据存储,您应该有另一个中间存储,您可以在其中存储计算结果以显示给用户。或者也许在您的用例中您并不真正需要 BigQuery 并且有更好的解决方案。

在任何情况下,您都无法避免几秒钟的等待(即使您选择高级版,您也会获得更多有关服务的保证,但在任何情况下,服务的速度都不足以成为网络应用程序的主要后端)


6
投票

1) Big Query 在成为“超快速”数据库之前是一个高度可扩展的数据库。它的设计目的是使用一种名为 Dremel 的技术来处理大量数据,并在几台不同的机器之间分配处理。因为它被设计为使用多台机器和并行处理,所以您应该期望拥有超级可扩展性和良好的性能。

2) 当您想要分析数十亿行时,BigQuery 是一种资产。

例如:在 5-10 秒内分析所有维基百科修订版也不错,不是吗?但即使是小得多的表也需要大约相同的时间,即使有 10k 行。

3) 在此大小下,您最好使用更传统的数据存储解决方案,例如 Cloud SQL 或 App Engine 数据存储区。如果您想保留 SQL 功能,Cloud SQL 是最好的选择。

Sybase IQ 通常安装在单个数据库中,并且不使用 Dremel。也就是说,在许多情况下,它都会比 Big Query 更快……正如设计的那样。

4) 当然,性能与专用环境不同。您每月支付 20K 美元即可获得专用环境。


0
投票

BigQuery 终于发布了一个新功能来解决这个问题。

它允许短查询运行得更快。它有可能使在面向用户的仪表板或应用程序中使用 bigquery 数据成为可能。

© www.soinside.com 2019 - 2024. All rights reserved.