30個のデータベースと20個のテーブルのデータを統合する必要があります。私の最初の試みは、テーブルごとに1つのデータフローを作成することでした。各データフローには30個のデータベースソースがあり、各データベースから1つのテーブルからデータを取得し、1つの宛先に挿入します。十分なメモリがないため、これは機能しません。使用されないデータを無視するようにデータをフィルタリングしようとしましたが、役に立ちませんでした。これらのタスクは毎日実行する必要があります。統合データベース全体が削除されてから、新しいデータが挿入されます。これは、毎日大量のデータが挿入されることを意味します。誰かがメモリの問題を処理する方法の提案がありますか?
今のところ私が見ている唯一の解決策は、20個のパッケージを作成することです。各パッケージには30のデータフローがあります。各データフローは、1つのデータベースからのみデータを取得します。しかし、繰り返しになりますが、実行の順序はわかりませんか?1つのパッケージのデータフローが同時に実行を開始しますか、それとも1つずつ実行されますか?
編集:
これが私がやった方法です...これが制御フローのスクリーンショットです:
データフローのスクリーンショット:
すべてのデータベースから1つのテーブルに対して1つのパッケージを作成しました。この場合、各データフローはテーブルから4年前のデータを取得し、ソースデータベースにインポートします。問題は、1つのデータベースに1つのテーブルがあり、データが多すぎてエラーが返されることです。
バッファマネージャは、10484608バイトのメモリ割り当て呼び出しに失敗しましたが、メモリの負荷を軽減するためにバッファをスワップアウトできませんでした。20個のバッファーが考慮され、20個がロックされました。十分なメモリがインストールされていないか、他のプロセスがそれを使用していたか、またはロックされているバッファが多すぎるために、パイプラインで使用できるメモリが不足しています。
助言がありますか?