DataWarehouseの重複寸法行
-
19-09-2019 - |
質問
イベントログからのデータをDataWarehouseにロードし始めています。 Factテーブルの列が1つのイベントを表す通常の星スキーマがあります。ディメンションテーブルは、user_agent、IP、参照、ページなどの典型的な組み合わせです。1つのディメンションテーブルは次のようになります。
create table referal_dim(
id integer,
domain varchar(255),
subdomain varchar(255),
page_name varchar(4096),
query_string varchar(4096)
path varchar(4096)
)
最終的にFactテーブルに対して参加するためにIDを自動在住します。私の質問は、バルクロードプロセスで重複したレコードを識別する最良の方法は何ですか?ログファイルのすべてのレコードをTEMPテーブルにアップロードしてから、実際の挿入を永続的なストアに挿入しますが、IDは自動インクリメントだけであるため、2日間の2つの同一のDIMレコードにIDが異なります。値列のハッシュを作成することは適切であり、それについて比較しようとしますか?各値列で比較しようとすると遅くなるようです。このような状況のためのベストプラクティスはありますか?
解決
代理PKの自動インクリメント整数は問題ありませんが、(キンボール氏によると)寸法テーブルにも自然な鍵があるはずです。だからハッシュ NaturalKey
列は順調です Status
「電流」または「有効期限が切れる」の列は、SCDタイプ2を許可するのに役立つ場合があります。
所属していません StackOverflow