我们将BigQuery用作系统的分析引擎,该系统为报告准备数据。根据我们的流程,数据的任何部分都可能会更改,2013-2015年的历史值也可能会更改,因此我们每天早晨都会擦除并重新加载BigQuery中的所有表。
我们想了解我们的方法是否会损害性能或增加数据处理成本。可能的是,随着时间的流逝,BQ会“适应”表的内容,随后的查询将变得更加高效。我不是在谈论缓存,而是在讨论BQ在处理查询时可能发现的一些数据重组,例如分区。
例如,大多数查询与特定年份或值类型相关,因此,一旦识别出通用查询模式,BQ可能希望将数据划分到这些字段中。
通常,BigQuery确实会根据查询表的方式来重构您的表,以提高性能。如果您每天都重写表,那么您会错过一些性能优势,但是由于您一次加载所有数据,因此表应该表现出色。
您使用的机制不会增加数据处理成本。如果您对成本敏感,并且查询特定年份,则可能需要考虑将表拆分为多个表。然后,您可以使用TABLE_DATE_RANGE或TABLE_QUERY函数查询这些表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句