느린 변경 차원 설명

완료됨

SCD(느린 변경 차원)는 시간에 따른 차원 멤버의 변경 내용을 적절하게 관리하는 차원입니다. 비즈니스 엔터티의 값이 설정된 일정에 따라서가 아니라 시간에 따라 변경되는 경우 적용됩니다. SCD의 좋은 예로 고객 차원, 특히 메일 주소 및 전화 번호와 같은 연락처 정보 열이 있습니다. 반면, 일부 차원은 주식 시장 가격과 같이 차원 특성이 자주 변경되는 경우 신속하게 변경되는 것으로 간주됩니다. 이러한 경우의 일반적인 디자인 방법은 신속하게 변경되는 특성 값을 팩트 테이블 측정값에 저장하는 것입니다. 그러나 느린 변경 차원의 경우에는 변경되는 멤버를 차원 테이블에 유지해야 합니다. 변경 내용 처리에 사용되는 디자인은 차원 테이블의 비즈니스 요구 사항에 따라 달라집니다.

고객 SCD 예

영업 트랜잭션을 추적하기 위한 별모양 스키마 모델의 일부로 고객 차원 테이블을 디자인한다고 가정해보겠습니다. 이 테이블에는 회사 이름, 메일 주소와 같은 특성이 포함됩니다. 회사 이름이나 전화 번호가 변경되는 경우 해당 고객의 신규 고객으로 처리하시겠습니까? 아마도 그러지 않을 것입니다. 대신 기존 레코드를 업데이트하거나 해당 값의 모든 기록 변경 내용을 추적하는 방법이 필요합니다.

데이터 변경 내용을 처리할 때 기록 없이 값을 업데이트할지 또는 각 기록 버전을 추적할지에 따라 테이블 디자인이 달라집니다. 다음에서 몇 가지 일반적인 방법을 알아보지만, 먼저 해당 차원을 SCD(느린 변경 차원)로 사용할지를 확인해야 합니다. 즉, 레코드의 업데이트를 허용할지를 물어야 합니다. 대답이 예인 경우 테이블에 날짜 필드를 추가해야 합니다. 이러한 날짜 필드는 분석 데이터베이스에서 데이터가 업데이트된 시기를 추적하는 데 도움이 됩니다.

예를 들어 고객 SCD에는 변경될 수 있는 열 세트(1)와 레코드가 추가 및 수정된 시기를 추적하는 필드 세트(2)가 있습니다.

An example customer table design with fields to change and date fields highlighted.