Cloud BigQuery表上的索引

Cloud BigQuery表上的索引,cloud,google-bigquery,Cloud,Google Bigquery,我有一个在BigQuery中有几个表的用例。 现在我想在BigQuery表中的一列上实现一个索引。 但我找不到足够的文档来做这件事。我发现一些博客和帖子提到BigQuery不支持索引。 请帮我找到一个博客或帖子,可以帮助我在BigQuery上实现索引。提前感谢。2019年更新:查看c: 如评论中所述,这个问题与“如果BigQuery是我的数据的100倍,它将如何处理我的数据”有关。在处理传统数据库时,索引是正确的解决方案,但BigQuery则不同:随着数据大小的增长,BigQuery会在

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

2019年更新:查看c:


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

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

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

您可以在BigQuery中获得的“索引”的结尾是。但目前它只支持按日期分区

分区表是一种特殊的表,它被分成若干段, 称为分区,使管理和查询数据更容易。 通过将一个大表划分为更小的分区,可以改进 查询性能并减少计费的字节数 限制扫描的数据量。BigQuery提供 日期分区表,这意味着该表被划分为 每个日期都有单独的分区


创建表时,可以使用高级选项中提供的群集顺序参数在bigquery表中创建索引。此群集选项仅适用于分区表。 有关其他详细信息,请访问以下链接:

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

如果您能描述为什么需要索引,即查询的形状,那么它的可能副本将有所帮助。BigQuery中可能还有一些其他机制(手动或自动),它们可以产生数据库中传统索引所期望的性能。嗨,Mosha,在我的用例中,我们现在有大约50万条记录,我们根据用户选择(还包括分页)在UI中显示这些记录。这些选择基于同一表格中的8个不同列。到目前为止,我们的查询给出了令人满意的结果,但我担心将来记录的数量会增加,大约是我现在的10-100倍。所以我想找到一种方法来实现索引或其他方法来提高性能。感谢Felipe的投入。Hi Felipe,我能从这个答案推断出,当您处理超过一定大小的数据集时,大查询只会提高性能吗?例如,我目前在一个表中有8000万条记录,表扫描似乎在6秒钟内完成,这比我在笔记本电脑上使用的各种方法要慢。但如果我有,比如说,8亿条记录,在BigQuery上仍然需要6秒左右?@Hexatonic-是的!你在做什么样的扫描?例如,我在2秒钟内看到了10亿行,我还看到BigQuery的性能很差,其中索引是关系数据库中的解决方案。例如,在约5000万行中搜索特定列值(其中myColumn=“searchvalue”)。可能还有什么其他解决方案?Oleg-这是BigQuery。一切都是满表扫描。