首页 文章

将事实数据与重复数据删除的维度记录进行匹配

提问于
浏览
0

我正在为具有多个物理位置的客户开始数据仓库项目的工作,每个位置都有相同LOB数据库的单独实例 . 这些站点之间有一些“常见”数据,但系统是孤立的,因此概念上指同一事物的数据在源中有不同的表示 .

例如,考虑产品类别 . 每个位置的产品类别列表都相同,但自动生成的密钥会有所不同 . 当数据被提取,分阶段并加载到仓库中相应的产品类别维度表中时,这些类别被有效地复制,因为它们具有不同的源系统或“自然”密钥 .

显然,数据需要重复数据删除,但是什么才能成为重复数据删除维度记录中持久存在的替代密钥?请记住,引用产品类别的数据将使用来自其原始位置的代理键 . 因此,如果我有三个不同的位置,我将为同一产品类别提供三个不同的自然键,并且该产品类别的销售数据也会引用这三个自然键,但最终会引用相同的概念类别 . 我有几种方法可以解决这个问题:

  • 如果我有三个位置,请将三个不同的代理键写入单维记录 . 这将使ETL过程中的匹配变得简单,但它的可扩展性不高,因为可以并且可能会添加其他位置 . 对于每个联机的新位置,我需要为每个维度表添加一个额外的自然关键字段,并使用这些重复数据删除的记录 .

  • 创建一个查找表,该表记录了相应维度表中每个自然键与其对应的代理键之间的映射 . 我不确定这种方法是否非常标准,也不确定它的可维护性 .

关于如何处理上述场景的任何输入将不胜感激 .

1 回答

  • 0

    我们使用方法2.想象一下有一天有数百个位置,你会发现方法1根本不可能 .

    方法2是可扩展的,并且非常易于维护,因为您的查找表只会垂直增长 .

相关问题