我正在考虑将我的分析系统转移到BigQuery,我想知道是否有人可以给我一些关于构建数据的最佳方法的指示。
我正在记录网站上发生的分析事件。每个分析事件类型必须存储在单独的表中,因为它们没有相似的字段。
我将使用分区按天分开,并在当天每天午夜运行查询以生成总计数,然后可以将其存储在其他地方,以便更快地查询分析平台。
我为每家公司创建了一个数据集,名称为company_123,company_124等。
然后在每个数据集中,对公司管理的所有网站进行分析,使用表名称,例如user_click_event_website_id,user_page_load_website_id等。
我需要能够同时查询“网站X上的所有用户点击次数”和“所有网站上的所有用户点击次数”。
我的问题是,通过website_id分割我的表并运行
会更好(成本和查询时间)吗? select * from user_click_*
和select * from user_click_website_x
或将它们全部放在一个带有website_id列的表中并运行
select * from user_click where website_id = 'website_x'
和select * from user_click
由于
答案 0 :(得分:0)
如果不了解您的方案和数据的细节,就不容易说出哪一个总是更好。作为一个起点,我觉得有一个带有website_id列的表似乎值得尝试,除非你注意到主要问题。