需要存储以下信息:
如何放置用户设备数据-事实或维度表?
如果我把它放到事实表中,我有很多重复,例如,每一行都必须包含有关设备的详细信息,对于一个用户来说,与之基本相同。
如果我把它放到dimesion表中,我必须更新维度表--添加新设备或更新旧设备。
重要的注意事项这里是分析系统设计,不仅分析用户的行为,而且看哪里没有收集数据。因此,不同的应用版本可以提供不同的信息“完整”-第一版本收集50%的用户设备,第二- 75%,第三- 99%。因此,我必须更新(不仅仅是插入)设备表中的数据。
发布于 2015-07-02 07:27:37
您至少需要两个维度,即带有User模式的Device和Snowflake模式。用户维度应该使用设备ID引用设备表。
User将只保留一个用户列表。它将使用foreign key引用Device表(在设备ID上)。您可以使用任何SCD类型来处理数据更改。但是,如果所有的设备字段都在一个表上,它肯定会更好。
Device表将保存不同类型的设备及其属性。
这一事实只需从用户表引用(UserID,DeviceID)组合即可。
https://stackoverflow.com/questions/31176724
复制相似问题