首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Informatica...How中使用动态查找缓存的SCD2是否会同步缓存

在Informatica...How中使用动态查找缓存的SCD2是否会同步缓存
EN

Stack Overflow用户
提问于 2014-02-21 21:39:19
回答 2查看 4.4K关注 0票数 0

这是我的问题,在谷歌上我可以找到许多帖子,我们可以使用动态缓存实现SCD2……

当我们有一个动态缓存时...假设有一条新记录出现,它被插入...如果有更改的记录进入,那么现有的记录就会更新。

所以考虑这样一个场景,其中一个更改的记录进入...现有记录将被更改。

现在对于SCD2..。我们更新现有的,并将新的作为当前插入。

使用Newlookup端口,我们可以确定是否有更改或新的或没有更改...并且绝对可以根据SCD2更新插入目标。

但在这种情况下,您的目标表和动态缓存将不同步。因为您的缓存只会被更新,但您的目标将根据SCD2历史记录维护进行更新以及插入新记录。

所以,如果你的缓存与目标...then不同步,我们怎么能说SCD2可以使用动态查找来实现。

请分享您的观点。

EN

回答 2

Stack Overflow用户

发布于 2014-02-22 02:59:03

基本上,您只希望保持当前行版本与查找缓存同步。一旦新行被处理,它就会进入查找缓存和目标表:

代码语言:javascript
复制
Lookup cache                   |    DB Table
Key    Active   Description    |    Key    Active   Description    
-------------------------------------------------------------------
AA1    1        The Moon            AA1    1        The Moon

现在,如果我们得到一个具有相同键的行,但描述已更新:

代码语言:javascript
复制
Lookup cache                   |    DB Table
Key    Active   Description    |    Key    Active   Description    
-------------------------------------------------------------------
AA1    1        The Sun             AA1    1        The Sun
                                    AA1    0        The Moon

查找缓存将被更新,我们向目标表插入新的行,并将现有行标记为非活动。现在,如果您比较活动行,则查找缓存与DB同步。

票数 1
EN

Stack Overflow用户

发布于 2016-06-26 15:49:19

Lookup仅保留来自目标表的活动记录。这就是我们使用查找覆盖的原因。我们的座右铭应该是在查找表和目标表中保持这些活动记录的同步。在SCD2中,更新的记录被插入到目标表中,新的开始日期作为活动记录,旧的记录将被终止。因此,我们需要在查找缓存中用新记录替换旧记录,以保持活动记录的同步。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21936027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档