将历史数据存储在单独的事实表中

我是数据仓库项目的新手,并希望在此寻求社区的建议。

我需要创建一个数据仓库,可以以最有效/最便宜的方式从中提取历史和当前信息。在此特定示例中,我们正在处理网站用户和首选项。

我们有一个Users表,一个名为Preferences的属性表(具有首选项的名称和ID)以及一个称为User_Preferences的连接事实表。与其将所有历史记录和首选项的更改/删除/添加存储在User_Preferences表中(可能是亿万行),不如让它具有2个表,一个用于当前首选项和一个具有所有首选项历史记录的表(使用一个isCurrent标志)?在ETL过程中,我们将把prod数据库中的所有历史数据加载到一个dw表中,然后仅将新dw表中具有isCurrent = 1的那些记录插入到另一个仅存储当前首选项的dw表中。

从业务的角度来看,大多数查询将在当前数据上运行,因为客户仅关心用户的当前首选项。少得多的查询将需要返回有关用户对企业内部利益的偏好的完整历史的信息。

感谢您的任何帮助,您可以提供!

桃房

是的,这很有道理。正如您所描述的,我将使用CurrentPreference事实表,并使用一个TransactionalPreference来报告所有首选项的更改。从该表中,您可以轻松获取用户的历史记录。

事务性FT(维度是时间,事务,用户,首选项)具有所有信息,但很难查询过去的情况(去年德州人在一月份的偏好是什么?),因此快照首选项也可能有用。事实表,其中包含某个时间点的情况(每个月或每天,这取决于用户的意愿)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将历史数据附加到非历史表

来自分类Dev

使用Cygnus将Orion ContextBroker中的历史数据存储在本地Hadoop数据库中

来自分类Dev

将历史数据加载到Teradata时态表

来自分类Dev

比较同一表中的历史数据

来自分类Dev

如何在Oracle历史记录表中维护历史数据

来自分类Dev

如何在Oracle历史记录表中维护历史数据

来自分类Dev

将临时结果存储在单独的数据库表中

来自分类Dev

查询历史数据

来自分类Dev

检索历史数据

来自分类Dev

历史数据建模

来自分类Dev

将历史数据保存在数据库中

来自分类Dev

将历史数据保存在数据库中

来自分类Dev

MQL4没有足够的存储历史数据

来自分类Dev

应该将“计数”度量存储在事实表中吗?

来自分类Dev

应该将“计数”度量存储在事实表中吗?

来自分类Dev

使用VBA抓取历史数据表

来自分类Dev

使用VBA抓取历史数据表

来自分类Dev

从谷歌地图流量中获取历史数据

来自分类Dev

在历史数据中查找日期不正确的行

来自分类Dev

excel中的yahoo!-finance(或其他)历史数据

来自分类Dev

如何从历史数据中获取最常用的路线?

来自分类Dev

获取股票的历史数据

来自分类Dev

从coinmarketcap刮取历史数据

来自分类Dev

从coinmarketcap刮取历史数据

来自分类Dev

如何将流数据与Dataflow / Beam中的大历史数据集结合在一起

来自分类Dev

彭博桌面Api v3 Python 2.7将历史数据添加到列表中

来自分类Dev

考虑夏令时将(date)类型的oracle中的历史数据转换为unix时间戳

来自分类Dev

Firebase - 将特定类型的数据分组并在新表中单独存储

来自分类Dev

一次:存储历史数据,flink或数据源的人员

Related 相关文章

热门标签

归档