我有一个用例,其中我们在BigQuery中有几个表。 现在我想在BigQuery表中的一个列上实现索引。 但我没有找到足够的文件来做到这一点。我发现一些博客和帖子提到BigQuery不支持索引。 请帮我找一个可以帮助我实现BigQuery索引的博客或帖子。提前谢谢。
答案 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个表,因此可以涵盖大多数情况,并让您保持成本不变。