【发布时间】:2014-07-08 21:21:54
【问题描述】:
我是数据仓库项目的新手,想在这里寻求社区的建议。
我需要创建一个数据仓库,以尽可能最有效/最便宜的方式从中提取历史和当前信息。在这个特定的示例中,我们正在处理网站用户和偏好。
我们有一个用户表、一个名为 Preferences 的属性表(带有首选项名称和 ID),然后是一个名为 User_Preferences 的连接事实表。与其将所有历史和偏好更改/删除/添加存储在 User_Preferences 表(可能是数百万行)中,不如拥有 2 个表更有意义,一个用于当前偏好,一个包含所有偏好历史(使用是当前标志)?在 ETL 过程中,我们会将 prod db 中的所有历史数据加载到一个 dw 表中,然后仅将新 dw 表中 isCurrent=1 的那些记录插入到另一个仅存储当前首选项的 dw 表中。
从业务角度来看,大多数查询将在当前数据上运行,因为客户只关心用户当前的偏好。更少的查询需要返回有关用户对企业内部利益的偏好的完整历史信息。
感谢您提供的任何帮助!
【问题讨论】:
标签: mysql data-warehouse fact-table