【发布时间】:2017-03-20 10:59:58
【问题描述】:
我正在使用 Google BigQuery 在我的应用中存储用户数据活动。
我在 BigQuery 中创建了一个表,我们称之为“user_activities_data”。
此数据包括许多始终每秒更新的数据用户活动。每秒钟都会有数千条新数据插入到表中。
我对这张表做了很多查询。
我知道 BigQuery 是根据您为每个查询使用的数据量收费的。我已经尝试优化我的查询以使用尽可能低的数据大小(通过仅选择需要的列)。
例如:
SELECT username,activity FROM user_activities_data WHERE date_activities>='2016-10-01' and date_activities<='2016-10-31'
但是因为每天我的数据量都在增加,所以价格也在增加。即使我使用具有相同 where 限制的相同查询(如上面的查询示例)。
所以我的问题是优化定价的最佳方式是什么?
上个月,我每次查询的费用约为 0.2 美元,而本月由于我的数据量翻了一番,我每次查询的费用为 0.4 美元。我每天进行大约数百次查询,所以如果管理不善,价格可能会非常高。
我有几个选择:
在 BigQuery 中使用每日分区选项,但我不知道我是否这样做了 正确的定价(按处理的数据数量)是相同的。 (我是不是做错了什么?)
每月将表分成许多表,例如: user_data_activities_oct16、user_data_activities_nov16 等。 注意:有时我需要查询月份之间的数据,例如 从 2016 年 8 月 31 日到 2016 年 11 月 5 日的用户活动,这是 一个好的解决方案?
我愿意接受任何建议:)
非常感谢
【问题讨论】:
标签: google-bigquery