2017-03-31 1 views
1

私はSSIS2012を使用します。データウェアハウスに3つのスキーマを作成しました(STGTRSFDW)。ソリューション内の複数のプロジェクト間でssisパッケージを分離する必要がありますか?

STGスキーマはステージングテーブル用です。私のソースファイルはすべてCSVファイルです。私は私のソースからstgスキーマの各テーブルにデータを転送しています。その後

:(私は20個のcsvファイルを持っている場合は、私は20個のパッケージを持っていますし、私はSTGスキーマに20個のテーブルを移入しますたとえば)、私はtrsfスキーマにstgスキーマを転送しています私は、各テーブルに別々のパッケージを持っています。その過程で私は自分のビジネスを持っています。私はFKを検索し、他のビジネスルールがこのレベルで適用されます。私がstgスキーマに20個のテーブルを持っているなら、20個のパッケージがあり、trsfスキーマに20個のテーブルを記入します。

第3ステップでは、trsfスキーマからスキーマにデータを転送します。ここでも私は20のパッケージを持っています。

最後に、stgスキーマで表をクリーニングするためのパッケージが20個あります。

私は、csvファイルとテーブル間の変換ごとに、dwスキーマの4つのパッケージを作成します。

各ステップごとに4つのプロジェクトを作成することをお勧めしますか?今では、1つのプロジェクトに80個のパッケージがあり、それ以上成長することができます。

+0

個人的に私は一緒に私のパッケージを維持するが、それはあなたのための問題が発生した場合、それらを分離します。 – Rich

+1

ここで最も重要なのは組織です。あなたのパッケージが何をしているのかを知り、実行する順序を制御できる限り、私は残りが問題ではないと言います。オフトピック;各スキーマに20個のテーブルがある場合、最終的なdwテーブルは生データのように見えますか? [データを変換する](https://en.wikipedia.org/wiki/Data_transformation)でない場合は、 'trsf'スキーマと' dw'スキーマが何かをパーティーに持ち込みますか? –

+0

@ destination-data:あなたの答えに感謝します。私は次元表について話していました。私は私のファクトテーブルのための変換を持っています。私はいくつかのSQLジョブを持っています。 4つのパッケージを順に実行するための4つのステップです。 (ステージング/ TRSF/DW/Cleanning) –

答えて

0

私はプロジェクトをまとめています。しかし、それらを分けるために、私はLanding、Staging、およびData Warehouseのために別々の親ジョブを保持します。そして、マスター親ジョブによってこれらの親ジョブを制御することができます。これにより、個々のステージを独立して実行する自由が得られます。

もう1つの提案として、別々のデータベースでランディング、ステージング、データウェアハウスを分離することをお勧めします。私が長い目で見ればそれはあなたを助けるだろうと信じています。

乾杯 ニシン

+0

私の問題は、プロジェクトのパッケージ数です。私のプロジェクトでは80以上のパッケージがあり、今後増加する予定です。それらを分ける考えはありますか? –

+1

こんにちはArdalan私たちは、パッケージを分けるために命名規則を使用しています。例えば: '101_Extract_Source_System_Name'、 '600_Fact_Business_Activity'。パッケージ名に数字を使用したので、パッケージを注文することができました。しかし、2012年のSSISでは、パッケージを最初に開いたときに混乱します.VSのプロジェクトレベルでそれらを並べ替えることができます。それらをデプロイするときには、常に番号の順番にとどまります。 –

関連する問題