在对已有数据仓库添加新的主题时,需加载的维度表也会存在历史记录的情况,这时,和普通的缓慢变化维的加载方式就会存在着不同。通常缓慢变化维的加载时是增量加载,查找表中只保留最新的代理键和自然键的对应关系。而像新增主题这样的批量加载,查找表中会保留维度变化的历史信息。

当批量加载维度表的历史信息时,在查找表中查询代理键的SQL示例如下:

Select customer_key from customer_lookup CL where customer_ID = factfile.customer_id and factfile.transaction_date between CL.effective_date and CL.end_date

这种通过betweenand的查询在记录多时效率是非常差的。为了提高初次加载的效率,有一种折中的方案可以选择。

这种方案就是放弃批量加载,使用和正常增量加载相同的程序来实现多次的增量加载。举例来说,我们可以把两年的记录分成104次增量加载,即每个星期的数据加载一次,每次只加载与该周相关的记录,维度选取生效日期effective_date小于等于该周内最小交易日期的记录。这样,查找表中代理键和自然键仍保持是一对一的关系。

妥协的缺点就是维度记录有可能在一周内出现不准,如果维度变化很慢,这样的误差我们可以接受的话,就可以采用这种妥协的加载方法。

相关文章:

  • 2022-12-23
  • 2022-02-27
  • 2021-06-18
  • 2021-04-18
  • 2022-12-23
猜你喜欢
  • 2021-11-09
  • 2021-07-22
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案