我计划建立一个新的广告系统,我们正在考虑使用谷歌bigquery。
我很快就会描述我的数据流:
每个用户将能够创建多个广告。(1用户,N个广告)我想存储广告印象,我想到了两个选项。
1-为印象创建一个表,例如表名是:印象字段:(userid、adsid、datetime、meta数据字段.)在这个选项中,我所有的印象将存储在一个表中。
主要优点:能够很容易地进行大数据查询。主要缺点:表将是hugh,使用多个查询,最终会支付太多(:
选项2是为每个广告创建表。
例如,ads 1将使用字段(日期时间、元数据字段)创建Impression_1。
优点:查询成本更低,数据表的缺点更小: todo大数据查询有时需要创建一个联合,事情就会变得复杂。
我想知道你对此有何看法?
发布于 2015-03-01 10:38:06
在BigQuery中,这样做很容易,因为您可以每天创建表,并且可以只查询这些表。
还有表通配符函数,这是从一组特定表中查询数据的一种成本效益高的方法。使用表通配符函数时,BigQuery只对与通配符匹配的表进行访问和收费。表通配符函数在查询的FROM子句中指定。
假设您有一些表,如:
mydata.people20140325
mydata.people20140326
mydata.people20140327您可以查询如下:
SELECT
name
FROM
(TABLE_DATE_RANGE(mydata.people,
TIMESTAMP('2014-03-25'),
TIMESTAMP('2014-03-27')))
WHERE
age >= 35还有表式解码器
表装饰器支持相对和绝对的<time>值。相对值用负数表示,绝对值用正数表示。
若要在一小时前获取表的快照,请执行以下操作:
SELECT COUNT(*) FROM [data-sensing-lab:gartner.seattle@-3600000]还有查询,您可以使用它进行更复杂的查询。
https://stackoverflow.com/questions/28792022
复制相似问题