mondrian 多维去重设计

最近使用mondrian做用户行为分析,使用到多维

事实表设计如下:

CREATE TABLE f_version(
"date_id" int,
"area_id" int,
"product_id" varchar(255) COLLATE "default",
"mac_id" varchar(255) COLLATE "default"
)


事实表f_version 包含三个维度 date_id(时间)和 area_id(地区)和 product_id(产品),,在mac_id 上取distinct-count值,做为指标—用户数。

这里的mac_id 为用户的网卡地址,以此来做为唯一用户标识,日期维度包含年,月,周,日统计用户数,这里需要做去重处理,

按天统计:如用户A 在一天中登录多次,只算一次登录(要求去重)

按周统计:如用户A在一天中多次登录,一周有多个天数登录,只算一次登录(要求去重)

按照上面的设计其实可以实现需求,但是问题出现在mac_id,目前公司产品用户有20w用户,按照上面的设计,每天ETL后的数据最少要增加20w条

目前的事实表 f_version 的数据已经达到1000w条,MDX查询的时候单个维度还能出来,2个维度基本上是出不来了,按照这样的增长趋势,很快事实表上亿条,请教下各位大大门,怎么改造才能实现,根据时间维度能去重用户呢?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值