Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

차원 모델링에 대한 잘못된 정보는 무엇입니까?

<시간/>

해결해야 할 차원 모델링에 대한 몇 가지 신화가 떠돌고 있습니다.

스토브 파이프 의사 결정 지원 시스템으로 이어지는 차원 데이터 모델을 실행할 수 있습니다. 이 신화는 수정될 수 없는 특정 소프트웨어만 제공하는 비정규화를 비난합니다. 이것은 정확히 거꾸로 된 메시지를 얻을 수 있었던 차원 모델링에 대한 근시안적인 해석입니다.

첫째, 우리는 모든 엔티티-관계 모델이 동일한 정보를 포함하는 동등한 차원 모델 세트를 가지고 있다고 주장했습니다. 둘째, 조직 변경 및 최종 사용자 적응이 있는 경우에도 차원 모델이 형태를 변경하지 않고 우아하게 확장된다는 것을 보여주었습니다. SQL을 다시 작성하도록 요구하여 애플리케이션 디자이너와 최종 사용자를 휘젓는 것은 엔터티 관계 모델입니다.

우리가 수업에서 만나본 적도 없고 경험한 적도 없는 사람들이 만든 수백 가지의 정말 좋은 차원 디자인을 볼 수 있습니다. 지난 15년 동안 치수 데이터베이스를 사용하고 설계한 포장 제품 소매 및 제조 산업의 전 세대 디자이너가 있습니다.

이 신화는 차원 모델링의 역사적 기원에 뿌리를 두고 있지만 오늘날의 현실에는 뿌리를 두고 있지 않습니다. 차원 모델링은 소매 은행, 상업 은행, 재산 및 상해 보험, 건강 보험, 생명 보험, 중개 고객 분석, 전화 회사 운영, 신문 광고, 석유 회사 연료 판매, 정부 기관 지출, 제조 선적을 포함한 여러 비즈니스 영역에서 사용되었습니다. , 건강 관리 등.

Snowflake는 차원 테이블에서 카디널리티가 낮은 텍스트 속성을 제거하고 "보조" 차원 테이블에서 찾습니다. 예를 들어, 제품 범주는 이러한 방식으로 처리되어 하위 수준 제품 차원 테이블에서 물리적으로 제거될 수 있습니다.

눈송이는 차원 모델링과 다르지 않습니다. 우리는 눈송이를 기본 차원 모델의 단순함에 대한 장식으로 간주합니다. 이 기술이 사용자의 이해도를 높이고 전반적인 성능을 향상시킨다면 디자이너는 깨끗한 양심으로 눈송이를 만들 수 있다고 생각합니다.

눈송이가 차원 테이블의 유지 관리에 도움이 된다는 주장은 거짓입니다. 유지 관리 문제는 실제로 엔터티 관계와 유사한 분야에서 활용되지만 이 모든 것은 데이터가 차원 스키마에 로드되기 전에 데이터 스테이징 영역에서 발생합니다.

엔터티-관계 모델링은 비즈니스를 모델링하는 것이 아니라 데이터 요소 간의 미시적 관계를 모델링합니다. 엔터티 관계 모델링에는 비즈니스 규칙이 없고 데이터 규칙이 있습니다.

엔티티 관계 모델은 구조가 매우 다양합니다. 엔터티-관계 모델 메커니즘의 거친 가변성은 각 데이터 웨어하우스에 사용자 지정 작성 및 미세 조정된 SQL이 필요함을 정의합니다. 또한 각 스키마가 튜닝되어 있기 때문에 이러한 스키마가 비대칭이기 때문에 고객 쿼리 습관의 변화에 ​​매우 쉽게 접근할 수 있음을 나타낼 수도 있습니다.