私はSQL 2008/SSISで最初のデータウェアハウスを構築しています。ファクトテーブルのロードに関するベストプラクティスを探しています。SQL/SSIS DataWareHouseファクトテーブルのロード、ベストプラクティス?
現在、私のDWには、タイプ1のSCDである約20次元(オフィス、従業員、製品、顧客など)があります。
- ないヌル(ステージング中にテキストまたは数値のための0のために空白に置き換え)
- 未知の主要メンバーは、各次元に移入(SK ID 0:私のDW構造では、私はすでに適用されているいくつかあります)段階から生産テーブルへのSCDタイプ1ローディング用
- UPSERT 私のファクトローディングSSISプロジェクトで
、Iはローディング寸法を持っている現在の方法は、ある大きさの私のローディングのためにDISTINCT SELECT各DIMに複数のルックアップ(20+)を行い、FACT表にデータを移入します。私は設定私の検索の場合
:ように、各SKについて:
- キャッシュフル
- は "surrogate_idkey?ISNULL(surrogate_idkey)0" と変換の派生 "一致するエントリ"
- のための障害を無視します検索が失敗した場合、SK ID 0(未知のメンバー)にデフォルト設定されます。
- 私次元ルックアップの一部は、複数のビジネスキー
は、これが最善のアプローチですか?上記の私の説明に役立つ添付写真。
ありがとうBanton、現在、私たちは約200列を含む4mのレコードをロードしています。毎日約2k行の新しいレコードがあります。ローディングステージはかなり速いです。フィードバックをお寄せいただきありがとうございます。 – exxoid
[専用BIサイトのイニシアチブをフォローし、使用し、共有してください。](http://area51.stackexchange.com/proposals/70503/business-intelligence?referrer=EPHSm8-3avvaMxLjdRIeNg2)。私は最初、この質問を[BIサイトの提案がなかったときのメタ]で出しました。(http://meta.stackexchange.com/q/232414/201662) – bonCodigo