これはかなり漠然とした質問であり、答えるのは難しいと思いますが、この件に関する一般的な考えをいただければ幸いです。
簡単な背景を説明しましょう。
10年前、私たちはレガシーアプリケーションから入力フラットファイルを読み取ってデータロードを書き込み、それらをデータマートにロードしていました。元々、ロードプログラムはVB6で記述され、フラットファイルにカーソルを合わせ、レコードごとに次の一般的なプロセスを実行しました。
1)レコードを検索します。見つかった場合は更新します2)それ以外の場合は新しいレコードを挿入します
次に、SQL Serverを使用して一時テーブルのフラットファイルをDTSするようにこのプロセスを変更し、一時テーブルからターゲットの本番テーブルを使用して一時テーブルで大規模なセットベース結合を実行し、一時テーブルからデータを取得して使用しました。ターゲットテーブルを更新します。参加しなかったレコードが挿入されました。
これはプロセスを単純化したものですが、基本的に、プロセスは反復アプローチから「セットベース」に移行し、一度に1レコードずつ更新を実行しなくなりました。その結果、パフォーマンスが大幅に向上しました。
次に、このアプローチを使用して一般的な関数/更新パターンを実行するために、DLLに強力な共有関数のセットを作成しました。開発を大幅に抽象化し、開発時間を大幅に短縮しました。
次に、ETLツールであるInformatica PowerCenterが登場し、mgtはツールを標準化して、DTSを使用していた古いVBロードを書き直したいと考えています。
PowerCenterはレコードを繰り返し処理すると聞きましたが、いくつかの最適化のトリックを実行することを知っているので、Informaticaがどのように実行されるのか興味があります。
DTSまたはSSISを使用して、どちらが一般的にパフォーマンスが向上するかについて、腸のパフォーマンスを予測できるようにした経験はありますか?