2011-12-13 2 views
0

데이터웨어 하우스에 대해 하향식 방식을 사용하므로 DW가 3NF이고 데이터 마트가 다차원입니다. 나는 DW가 역사적인 데이터를 보존하기 위해 타임 스탬프 (또는 그와 비슷한 것)를 가져야한다는 것을 읽었다.
내 질문 :
내 DW에 과거의 데이터를 저장해야합니까, 아니면 시간이 변하는 차원을 가질 정도로 충분합니까 (기술적으로는 필요한 경우 유형 2 SCD를 사용합니다).데이터웨어 하우스의 시간 변경

DW가 시차가되어야하는 경우 :
언제 하향식 접근 방식으로 SCD를 사용합니까?
테이블의 PK 부분에 타임 스탬프를 사용해야합니까?

감사합니다.

+0

나는 귀하의 질문을 이해하지 못합니다. 기존 데이터웨어 하우스가있는 것처럼 보이지만 현재 디자인이 맞는지 또는 새 것을 구현하는 방법 또는 다른 것을 묻는 중입니까? 질문이 무엇이든간에,보다 구체적이고 명확하게 현재의 구조를 보여줄 수 있다면 더 나은 대답을 얻을 수 있습니다. – Pondlife

답변

1

가능하면 정규화 된 스키마에서 기록 추적을 피하십시오. 유형 2 SCD는 훨씬 간단합니다. 그러나 데이터 마트를 영구 보존해야합니다. 즉, 히스토리를 재구성 할 수 없으므로 데이터 마트는 히스토리 데이터의 표준 소스입니다.

몇 가지 팁 :

  • 당신의 차원에서 ODS/DW 키를 다시 사용하지 마십시오. 데이터의 자연 키를 병합합니다. 이렇게하면 스타 스키마와 ODS가 분리되고 스타 스키마에 영향을주지 않으면 서 ODS를 다시 작성할 수 있습니다.

  • 복잡한 정규화 된 데이터에서 이력을 추적하고 역사적인 위치를 재구성하는 것은 정말 까다로운 작업입니다. 귀찮게하지 마라. ODS에 '현재 상태'를 고수하십시오.

  • 일반 유형 2 차원 처리기를 만드십시오 (시스템 데이터 사전의 데이터를 사용할 수 있음). 이렇게하면 사전로드 테이블을 표시하고 처리기를 사용하여 데이터를 차원에 병합 할 수 있습니다.

    이렇게하면 ETL을 히스토리 추적과 분리하고이를 ETL과 별도로 테스트 할 수 있습니다. preload 테이블이 올바른지 확인하여 ETL을 테스트 할 수 있습니다. 이전/이후 시나리오를 테스트 할 필요가 없습니다. 차원 처리기에 대한 단위 테스트 집합을 사용하여 기록 추적을 테스트 할 수 있습니다.

    이 아키텍처 유형은 테스트를 극적으로 단순화합니다.

  • ODS가 아닌 영구 데이터 마트의 장점 중 하나는 ODS에 대한 대대적 인 수술을 쉽게 할 수 있다는 것입니다. ODS가 히스토리를 추적 할 필요가 없으면 필요에 따라 삭제하고 다시 작성할 수 있으며 히스토리 데이터를 마이그레이션하지 않고도 쉽게 데이터 모델을 변경할 수 있습니다.

관련 문제