現在、SQL Serverにある1 TBのリレーショナルデータベースが与えられています。データウェアハウスには、データベースの主要部分の「コピー」が必要です。倉庫データは24時間を超えてはなりません。リレーショナルデータベースのサイズによって、毎晩フルロードするのは実用的ではありません。倉庫への増分ロードをサポートするために、リレーショナルデータベースをどのように設計する必要がありますか?データウェアハウスへの増分 "エクスポート"のためのデータベース設計
データベースの1分で非常に小さい部分(< 0.1%)が変更され、ほとんどが挿入されます。日中の変更は必要なく、最後のスナップショットだけです。
リレーショナルデータベースのパフォーマンスを維持することが最も重要であり、その後に不必要なスペースを浪費しません。
ソーステーブルに2つのフィールドを追加するだけでは、日時とレコードを削除する必要があるフラグがわかりません。次に、最後のETL操作の新しいレコードをすべてロードしています。新しいレコードが挿入され、変更されました。変更されました。また、フラグ 'deleted'を持つレコードは、ソーステーブルでも削除されます。 – John
@John。私があなたの考えを理解していれば、ETLプロセスが削除されたレコードを受け取るための十分なウィンドウを与えた有効期限付きの論理削除フラグを設定します。これは良いアプローチです。私は、ETLプロセスがソースレコードの削除を担当することを推奨しているかどうかを判断しようとしています。もしそうなら、私は、外来キーが削除を失敗させる可能性があるケースでは、少し固執すると思います。代わりに、ソースシステムのRI構造を認識している刈り取りプロセスを選択します。 –