大问题是要慢

时间:2014-09-17 15:32:22

标签: google-bigquery

我刚刚开始使用biquery,我的数据库很小(行1个表中有10K),我的查询是简单计数和分组。 每次请求平均需要3-4秒,但有时会跳到10秒,事件为15秒 我正在使用BQ工具从Irland的amazon linux服务器查询。

是否有可能更快地获得结果(不到1秒),这样我就能更快地展示我的网页。

2 个答案:

答案 0 :(得分:4)

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

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

在任何情况下,您都无法避免等待几秒钟(即使您使用Premium,您也可以获得更多有关服务的保证,但在任何情况下都无法提供足够快速的服务作为您的主要后端一个webapp)

答案 1 :(得分:3)

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

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

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

3)在此规模下,您最好使用更传统的数据存储解决方案,例如Cloud SQL或App Engine数据存储。如果您想保持SQL功能,那么Cloud SQL就是最佳猜测。

Sybase IQ通常安装在单个数据库中,并且不使用Dremel。也就是说,在许多情况下,它会比Big Query更快......按照设计。

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