Google bigquery BigQuery表如何处理分区和集群字段?

Google bigquery BigQuery表如何处理分区和集群字段?,google-bigquery,Google Bigquery,当指定TIMESTAMP列作为分区时-数据由允许每次访问的分区保存在磁盘上 现在,BigQuery还允许定义最多4列作为集群字段 如果我没有弄错,分区就像PK一样,集群字段就像索引一样 这意味着集群字段与记录在磁盘上的保存方式无关 如果我理解正确,分区就像PK 这是不正确的,分区不用于标识表中的行,而是启用BigQuery将每个分区的数据存储在不同的段中,因此当按分区扫描表时,只扫描指定的分区,从而降低扫描成本 集群字段类似于索引 这是正确的,集群字段用作指向表中记录的指针,并支持对数据的快速/

当指定
TIMESTAMP
列作为分区时-数据由允许每次访问的分区保存在磁盘上

现在,BigQuery还允许定义最多4列作为集群字段

如果我没有弄错,分区就像
PK
一样,集群字段就像
索引一样

这意味着集群字段与记录在磁盘上的保存方式无关

如果我理解正确,分区就像PK

这是不正确的,分区不用于标识表中的行,而是启用BigQuery将每个分区的数据存储在不同的段中,因此当按分区扫描表时,只扫描指定的分区,从而降低扫描成本

集群字段类似于索引

这是正确的,集群字段用作指向表中记录的指针,并支持对数据的快速/最低成本访问,而不考虑分区。这意味着使用集群字段可以以最小的成本跨分区查询表

我喜欢@Felipe image,它可以很好地显示数据的存储方式

注意:分区发生在插入时,而集群发生在BigQuery执行的后台作业中

如果我理解正确,分区就像PK

这是不正确的,分区不用于标识表中的行,而是启用BigQuery将每个分区的数据存储在不同的段中,因此当按分区扫描表时,只扫描指定的分区,从而降低扫描成本

集群字段类似于索引

这是正确的,集群字段用作指向表中记录的指针,并支持对数据的快速/最低成本访问,而不考虑分区。这意味着使用集群字段可以以最小的成本跨分区查询表

我喜欢@Felipe image,它可以很好地显示数据的存储方式

注意:分区发生在插入时,而集群发生在BigQuery执行的后台作业中


请看这篇文章,它提供了一个关于这个主题的好答案。而且中邮是很不错的@Felipe@TamirKlein没有。它讨论了不考虑分区字段的集群字段。请看这篇文章,它提供了一个关于这个主题的好答案。而且中邮是很不错的@Felipe@TamirKlein没有。它讨论了不考虑分区字段的集群字段。