0
我有一个ETL过程/作业,以预定的方式从源向目标提取数据库数据。用于比较两组数据(新vs现有)的推荐模式/策略...剩余的新数据不存在
[Source data]
定期更新来自某些外部 源的新数据。[Destination data]
是业务下游 使用的[Source data]
的子集。- 在
[Destination data]
约束的要求是,它应该 不能有重复(一些数据后,可以进口的,那么新的提取运行时,可能会发生,例如,在工作 故障的情况下) - 作业进口1000只记录在一个时间
- 的计划/工作还有其他的责任,它适用于
我的一个“可行的”选项的其他数据包括:
- 获取ALL预计复合/键列从目的地,
- 做新1000条装载的记录(还是很多的 记录)的比较。
- 然后保存不在
[Destination Data]
中的新[Source data]
。 - 我想象一下,包含现有
[Destination data]
的数据结构将是以下结构的Hashset,例如,HashSet<int,string,string>
。 3个数据项唯一标识一条记录。 - 然后,我会得到1000条记录,通过它们循环,与HashSet进行比较。
我担心在内存中的数据太多。
任何关于更好方法的建议,还是这是最有效的方法呢?