A C*_*ude 1 sql-server oracle optimization ssis etl
我有一个关于优化在 Oracle 和 SQL Server 之间传输 10 亿到 13 亿条记录(未来容量高达 20 亿条或更多记录)的好方法的问题。
*编辑*我忘了提到——这个过程需要每周运行一次,在 1 个周末的时间范围内。
目前我计划使用 ETL 包。我现在正在寻找 Talend 或 SSIS。
这里是数据设置。数据驻留在Oracle上,需要先采集再打包再传输。
目前我的流程是这样的: 1.) 一个存储过程提取所有数据并将其重新打包到一个 oracle 表中。2.) ETL 将扫描此表并将其移动到 SQL Server DB。3.) Oracle 和 SQL Server 上的表是相同的。
我正在寻找有关优化流程的一些想法。将插入优化到 SQLserver 的好方法是什么?
1.) 我想只是简单地将表放在 SQL Server 上,然后将表创建为 select * from oracle_table
2.) 重新设计存储过程,使其在 ETL 中运行(使我不必插入 oracle),然后直接插入 SQL Server -- 在使用 Talend 进行低容量测试时(我不能说 SSIS ) 我遇到了一些性能问题 - 重组过程需要更长的时间来提取数据,然后直接在 Oracle 上调用它。这是正常的,还是我搞砸了优化?
3.) 有没有更好的方法来进行我不知道的海量数据传输?
任何建议都会很棒。我认为链接服务器在这里是一种选择,但没有设置,而且我以前从未设置过。
任何要点/提示都会很棒,因为我对这整个事情还很陌生。
你最好的方法是:
如果您绝对需要 Oracle 中的表副本,那么我至少会比较以下性能: