【发布时间】:2015-07-31 00:32:56
【问题描述】:
我有一个关于各种场景下 BQ 性能的问题,尤其是围绕“幕后”的并行化。
我每天保存 1 亿条记录。目前,我每 5 天轮换一次表,以避免因全表扫描而产生高额费用。
如果我要运行日期范围为“过去 30 天”的查询(例如),我将在 6 个(如果我在分区的最后一天)和 7 个表之间进行扫描。
作为替代方案,我可以每天将我的数据分区到一个新表中。在这种情况下,我将优化我的开支——因为我查询的数据永远不会比我拥有的更多。问题是,在将结果返回给客户端方面会遭受性能损失,因为我现在可能并行查询 30 或 90 或 365 个表(联合)。
总结一下:
- 更多表 = 更少扫描数据
- 更少的表格 =(?) 更长的对客户端的响应时间
谁能解释一下如何在成本和性能之间找到平衡?
【问题讨论】:
标签: google-bigquery