我正在寻找一种设计方法,用于从不同来源(oracle,平面文件等)加载数据,并使用Java将它们加载到目标关系模型中。我已经有了目标数据模型,目前它有四个实体a,b,c,d - 其中d有a,b,c id的引用,所以我需要填充前三个表。 对于实体a: 我需要从源读取一条记录并将其与已存在的实体a进行比较(在第一次加载时它将为空,因此我将直接插入它),比较该记录的所有列,如果有差异则我会更新目标我转移到其他记录。 我正在考虑Spring批处理,但是为了比较每个记录,我会有很多DB调用会影响性能。 我很感激设计策略方面的帮助。我不想考虑像informatica,abinitio等ETL工具。
目标数据库将始终保持为Oracle。
答案 0 :(得分:0)
执行此操作的最快方法可能是将所有记录加载到目标上的临时表中。然后,您可以在2个表之间运行减号查询(如果您的目标是Oracle),以查找需要插入的所有记录,以及所有其他要更新的记录。