2017-05-18 9 views
0

나는 내 데이터 마트에 다음과 같은 기관이 있습니다비슷한 속성을 가진 치수를 처리하는 방법은 무엇입니까?

  • 위치가 : 등
  • 사용자는 국가, 도시, 같은 정보를 포함합니다 :이 자신의 주소, 를 포함하는 사용자에 대한 정보를 포함를하는 국가 및 도시 포함

두 차원 모두 국가 및 도시에 대한 특성을 포함합니다. 위치 차원에만 속성을 저장하는 것이 더 합리적이므로 데이터를 복제하지 않으며 팩트 테이블을 통해 서로 게이트 테이블을 함께 조인하여 사용자의 위치 정보를 검색 할 수 있습니다. 그러나이 방법을 사용하면 여러 조인을 수행해야하므로 오버 헤드가 증가합니다.

나는 차원 모델링 및 데이터웨어 하우징과 경험, 그래서 더 나은 방법입니다 어느 모르겠어요

  1. 는 차원 모두
  2. 가에 속성을 넣어 같은 속성을 포함하자 (이 경우에는 위치 치수)

답변

0

옵션 1은 킴볼 방식에 더 가깝습니다. 차원 모델링은 데이터 중복 방지를 우선시하지 않습니다. 이 경우 그들은 데이터가 여러 테이블에 속한다고 주장합니다. 사용자는 자신의 주소에 대한 정보를 가지고 있으므로 사용자에 관한 정보가 사용자에게 속합니다.

중요한 것은 데이터가 필드의 이름과 내용의 성격에 맞춰져 있다는 것입니다. 즉, ETL/DW를 담당하는 담당자가 귀하의 책임하에이 필드의 내용을 확인합니다 케이스.

많은 사람들이 옵션 2를 사용합니다. 이렇게하면 사실의 본질을 알 수 없으므로 (잘못된 것일 수 있습니다) 사용자의 위치를 ​​알고 싶다는 생각이들 것입니다. '눈송이 (snowflake)'구조가 될 사실이 아닌 차원에서 열쇠를 가져라. 항상 잘못된 것은 아니지만 차원 모델을 최대한 활용할 수는 없습니다.

+0

구매 한 제품을 특정 날짜에 특정 위치에서 구입하려고한다고 가정 해 봅시다. 내 팩트 테이블은 이러한 거래를 프로파일 링합니다. 제가 답하고자하는 질문 중 하나는 사용자가 제품을 구매하는 다양한 영역 (위치)입니다. – Amous

+0

구매 한 상점이 아닌 사용자의 위치 인 경우 위치는 사용자 차원 테이블에 있습니다. – Rich

+0

제품 위치 (예 : 제품 구매 위치)에 더 관심이 있습니다. 이 경우 제품 차원에 위치를 지정하는 것이 맞습니까? 제품 차원으로 이동하면 위치 측정 기준이 실제로 필요합니까? – Amous