BigQuery表上的索引

问题描述 投票:6回答:4

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

cloud google-bigquery
4个回答
8
投票

2019更新:看看clusters improve your querying times and data scanned如何:


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

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

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


1
投票

你可以在BigQuery中获得“索引”的关闭是Partitioned Tables。目前它只支持按日期分区。

分区表是一个特殊的表,它被分成多个段,称为分区,可以更轻松地管理和查询数据。通过将较大的表划分为较小的分区,可以提高查询性能并减少通过限制扫描的数据量来计费的字节数。 BigQuery提供了日期分区表,这意味着该表被划分为每个日期的单独分区。


0
投票

您可以在创建表时使用高级选项中提供的Clustering order参数在bigquery表中创建索引。此群集选项仅适用于分区表。请点击以下链接了解更多详情:link to google documentation


0
投票

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

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.