对bigquery的查询花费更多时间

时间:2014-11-03 11:39:05

标签: google-bigquery

我上传了80,000个观察10 + 1(也尝试了20 + 1和100 + 1)变量的文件,所有变量都是二进制(0,1)除了重量(浮点数)并执行了一些简单的查询,如:

SELECT sum(col1),sum(wt*col1),sum(col2),sum(wt*col2),sum(col3),sum(wt*col3),sum(col4),sum(wt*col4),sum(col5),sum(wt*col5),sum(col6),sum(wt*col6)
,sum(col7),sum(wt*col7),sum(col8),sum(wt*col8),sum(col9),sum(wt*col9),sum(col10),sum(wt*col10)
FROM [bigquery_dummy_dataset.bin_006b];

此查询在5.6 secs approx执行时正在执行100 columns is taking 21 secs approx。我觉得它比其他现有的数据库技术慢(在sql server中使用索引我们已经获得了更高的性能)。但是,我想处理更多的数据(最多2000个变量)。

我做错了吗?有没有办法加快经过的时间?

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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

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