メイン コンテンツをスキップする

tPostgreSQLSCDELTコンポーネントを使ってPostgreSQLテーブルのデータ変更を追跡する

このシナリオでは、tPostgreSQLSCDELTコンポーネントによって実装されたSCD (Slowly Changing Dimensions)タイプ1およびタイプ2のメソッドを使ってPostgreSQLテーブルの従業員データの変更をキャプチャーし、現在のデータと履歴データの両方をSCDディメンションテーブルに書き込むジョブについて説明します。

入力データには、namerolesalaryなどのさまざまな従業員の詳細が含まれており、入力データの統一性を確保するために別のidカラムが追加されています。

最初に、次の従業員データが新しいSnowflakeテーブルに挿入されます。

#id;name;role;salary
1;Mark Smith;tester;11000.00
2;Thomas Johnson;developer;12000.00
3;Teddy Brown;tester;13000.00

その後、テーブルは次のアップデートされた従業員データでアップデートされます。

#id;name;role;salary
1;Mark Smith;tester;15000.00
2;Thomas Johnson;tester;18000.00
3;Teddy Brown;writer;17000.00
4;John Clinton;developer;19000.00

Thomas Johnsonのロールがdeveloperからtesterに変更され、Teddy Brownのロールがtesterからwriterに変更され、その給与が13000.00から17000.00に増額されていることがわかります。さらに、id 4の新しい従業員レコードが挿入されています。このシナリオでは、以下が行われます。

  • 既存の名前とロールのデータが新しいデータで上書きされます。そのため、それらに対してSCDタイプ1メソッドが実行されます。

  • 給与データの完全な履歴が保持され、データが変更された新しいレコードが常に作成され、前のレコードは閉じられます。そのため、それに対してSCDタイプ2メソッドが実行されます。

SCDタイプの詳細は、SCD管理方法論をご覧ください。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。