数据仓库 拉链算法

来源:互联网 发布:dom5.js websocket 编辑:程序博客网 时间:2024/04/28 06:56

http://bbs.csdn.net/topics/330053755

全量主要数据表加载的策略为每次加载时需要根据主键将目标表的数据与源表数据进行比对,删除目标表中在源数据表中的相关记录,然后将源表数据全部插入目标表。表现在脚本上为先delete相关记录,然后insert所有记录。主表加载策略主要用于大部分主表的加载,比如客户信息等主要数据表。

增量拉链是指每次加载时,将源表数据视为增量抽取后的结果,加载到目标表时需要考虑数据历史情况。一般数据发生变化时关闭旧数据链,然后开新数据链。增量拉链针对的是历史表情况,由于数据仓库中记录了大部分数据历史表变化情况,因此增量拉链加载策略在数据仓库中是使用比较广泛的一种加载策略。通常这种历史表都含有start_date和end_date字段,首先全字段对比源数据和目标表得出真正的增量数据,这里的全字段不包含start_date和end_date字段,然后根据主键对目标表进行关旧链操作,然后对新增数据开新链,这种拉链策略同样可以处理全量数据。


数据仓库 拉链算法

http://blog.csdn.net/nisjlvhudy/article/details/8559518


本文中所述的拉链算法,是按照一般性常规思维进行计算的。此过程分3大步,4小步:第一步新增新记录到目标表中,其中包含目标表中没有此主键的记录和断链新增记录两部分内容;第二步将源表已经不存在的记录在目标表中进行行关链;第三步处理变化了属性值的记录:1、关链老数据;2、新开链属性值变化后的数据。

0 0