Google bigquery BigQuery中记录类型与扁平表的查询性能

Google bigquery BigQuery中记录类型与扁平表的查询性能,google-bigquery,Google Bigquery,我有一个带有“订单”和“订单行”的表,它们以JSON的形式出现,并且很容易将其存储为JSON。我可以运行一个将文件展平到行的过程,但这是一个负担,并且会使BigQUery表变大 BigQuery的最佳性能结构是什么?假设我对金额或产品以及订单行中的销售有疑问 记录列中“记录”(或“订单行”)数量的最佳做法是什么?它能容纳数千人还是只针对少数人?假设我想在基于文档的数据库中查询它 这将帮助我规划正确的体系结构。BigQuery的柱状体系结构设计用于以高性能的方式处理嵌套和重复的字段,并且通常可以像

我有一个带有“订单”和“订单行”的表,它们以JSON的形式出现,并且很容易将其存储为JSON。我可以运行一个将文件展平到行的过程,但这是一个负担,并且会使BigQUery表变大

BigQuery的最佳性能结构是什么?假设我对金额或产品以及订单行中的销售有疑问

记录列中“记录”(或“订单行”)数量的最佳做法是什么?它能容纳数千人还是只针对少数人?假设我想在基于文档的数据库中查询它


这将帮助我规划正确的体系结构。

BigQuery的柱状体系结构设计用于以高性能的方式处理嵌套和重复的字段,并且通常可以像平展这些记录一样快速返回查询结果。事实上,在某些情况下(取决于您的数据和正在运行的查询类型),使用已经嵌套的记录实际上可以避免附加步骤的子查询

简短回答:不要担心扁平化,将数据保持在嵌套结构中,无论哪种方式,查询性能通常都是相同的

然而,关于你的第二个问题:你的记录限制将取决于你能在一个记录中存储多少数据。目前是BigQuery的。在一条记录中可以有很多重复的字段,但它们需要符合这个限制