BigQuery表上的索引

时间:2015-02-19 06:50:05

标签: cloud google-bigquery

我有一个用例,其中我们在BigQuery中有几个表。 现在我想在BigQuery表中的一个列上实现索引。 但我没有找到足够的文件来做到这一点。我发现一些博客和帖子提到BigQuery不支持索引。 请帮我找一个可以帮助我实现BigQuery索引的博客或帖子。提前谢谢。

4 个答案:

答案 0 :(得分:8)

2019更新:查看c lusters improve your querying times and data scanned

的方式

正如评论中所述,这个问题与&#34相关;如果BigQuery的数据大100倍,BigQuery将如何处理我的数据?#34;在处理传统数据库时,索引是正确的解决方案,但BigQuery是不同的:随着数据大小的增长,BigQuery增加了更多的服务器 - 保持性能几乎不变。

换句话说,随着您的数据增长,您应该预期成本会线性增加,性能几乎保持不变。不需要索引。这是人们为分析工作负载选择BigQuery的一个重要原因。

(当然,这完全取决于您的具体用例,请测试这些断言并报告回来!)

答案 1 :(得分:1)

你能得到的关闭"索引"在BigQuery中是Partitioned Tables。目前它只支持按日期分区。

  

分区表是一个分为段的特殊表,   称为分区,可以更轻松地管理和查询数据。   通过将大表分成较小的分区,您可以改进   查询性能并减少计费的字节数   限制扫描的数据量。 BigQuery提供   日期分区表,表示该表分为a   每个日期的单独分区。

答案 2 :(得分:0)

您可以使用创建表时高级选项中可用的聚类顺序参数在bigquery表中创建索引。此聚类选项仅适用于分区表。 请点击以下链接获取更多详细信息: link to google documentation

答案 3 :(得分:0)

除分区外,还可以使用多个表,例如每个表具有一天的数据量。 BigQuery一次最多可以查询1000个表,因此可以涵盖大多数情况,并让您保持成本不变。