BW

스타스키마, 차원과 큐브의 이해

허니시대 2021. 12. 19. 16:25
반응형

스타스키마의 이해

1. 스타스키마 : 다차원 데이터를 표현하기 위한 관계형 데이터베이스 설계기법    
- 스타스키마에서 다차원 모델은 Factor Table과 Dimension Table로 구성된다.    
- 스타스키마는 정보를 Factor와 Dimension으로 분류하는데 Factor는 실제 데이터 요소로 분석을 요하는 변수 차원의 항목을 말하고 Dimension은 Factor를 보는 관점을 나타낸다.

 

2. Factor Table    
- 스타스키마상에서 유일하게 정규화된 테이블로, 스타스키마의 중심에 위치하며 스타스키마 설계 시 가장 큰 데이블이다.    
- 외래 키(각 Dimension 테이블과 join에 사용) 열과 상세 데이터 값을 가지는 열로 구성    
- Primary Key : Factor Table과 Dimension Table을 join 시킨다.    
- Factor Table의 기본키는 외래 키의 조합으로 구성이 되는 데, 이러한 키를 Composite Key 또는 Concatenated Key라고 부른다.    
- 참조의 무결성(Referential Integrity) : Factor Table상의 외래키 열 값들이 조인되는 Dimension Table의 기본키 열에 대응되는 값을 가져야 함을 의미한다.     
- Factor의 유형 : Additive factors, Semiadditive factors, Non-additive factors    
- 멀티스타 스키마 : Factor Table의 기본키와 외래 키가 동일하지 않은 스타스키마.

 

3. Dimension Table : Factor에 대한 사용자 관점을 나타내며, 차원에 관한 서술적 정보를 저장     
- 비정규화된( Denormalized ) 데이터 구조를 취한다.     
- 일반적으로 항목들 간의 비대칭 계층구조를 관계형 테이블에 표현하기 위해 가장 널리 이용되는 방법은 Recursive Table 혹은 Parent - Child Table을 이용하는 것이다.     
- Recursive Table :  어떤 행이 가진 값의 패어런트나 차일드 값을 다른 행에 나타낸 것

 

4. Slowly Changing Dimension  

1) 변화의 처리 방법      
-  새로운 값으로 애트리뷰트 값을 덮어쓰는 방식을 취한다. 이 방법은 구현하기는 쉬우나 과거 자료를 잃어버리게 되므로 갱신되는 애트리뷰트에 대해서는 추이를 파악하기가 불가능하다.      
- 변경 시점에서 새로운 애트리뷰트 값을 가지는 레코드를 새로 추가하는 방식.      
- 새로운 필드를 추가함으로써 애트리뷰트의 변경을 처리할 수 있다.

 

5. E-R Model과 스타스키마  

1) 정규화 : 모델의 유연성을 높이고 데이터의 중복성을 제거할 수 있다.        
- 정규화 과정은 많은 테이블을  만들어내며 많아질수록 사용자 질의에 응답하기 위해 필요한 조인의 횟수 역시 많아지게 된다.        
- 정규화는 E-R Model을 매우 복잡하게 만들어 사용자가 이해하는 데 애로사항을 준다. 또한 조인 경로에 따라서도 다른 조회 결과를 얻을 수 있다.       
- 정규화된 DB는 요약 데이터를 저장하지 않으며, 연산된 필드를 갖지 않는다.  

2) 비정규화(Denormalization) : 질의 처리 시 많은 시간과 자원을 소비하는 조인 횟수를 줄이기 위해 테이블상에 반복적으로 데이터를 저장하는 DB 설계기법을 말한다.  

3) 스타스키마 : 차원의 특성을 기술하는 모든 정보는 Dimension 테이블에 분리되어 저장. 이처럼 Dimension과 Factor를 분리해서 저장하고 검색을 Dimension 테이블에 대해 수행함으로써, factor 테이블에 대한 방대한 검색을 피하고 최상의 성능을 낼 수 있다.
- 강점 : factor테이블 내에 있는 데이터에 대한 검색 기준으로 Dimension 테이블의 열을 사용       
- 사용자 질의에 최적화된 데이터 구조를 설계하기 위해 사용되는 논리적인 데이터 모델링 기법이다.       
- 특정 차원과 관련된 모든 애트리뷰트 정보들이 하나의 테이블에 저장

 

6. 스노우플레이크 스키마        
- 스타스키마의 Factor 테이블 구조와 동일하게 유지하면서 Dimension 테이블이 정규화된 구조
즉, Dimension Table을 정규화하여 Factor들을 별도의 Lookup Table에 저장하는 것이다.        
- 스노우플레이크 스키마에는 Factor 테이블과 직접 조인되는 Dimension 테이블이 있으며 이 Dimension 테이블은 또 다른 Dimension 테이블 상의 기본키를 참조하는 외래 키를 가진다. 이렇게 참조되는 테이블을  Outtrigger Table 혹은 Outboard Table이라 한다.

 


차원과 큐브의 이해

 

1 변수 차원  

1) 변수 차원의 구성
- 다른 차원들의 존재 기반을 제공하여 준다. 즉, 변수 차원은 비즈니스 상에서 우리가 측정하고자 하는 항목들로 구성된 차원이며, 나머지 차원
- Identifier Dimension or Viewpoint라고도 함
- 들은 이러한 항목들을 사용자들이 분석하기 위한 하나의 관점을 나타낸다고 할 수 있다.       
- 나머지 차원들의 상세 정도(Franularity)를 결정한다. 

 

2. Hypercube and Multicube   

1) Hypercube       
- 하나의 모델을 하나의 큐브로 표현하기 때문에 각각의 차원들을 구성하는 모든 항목들의 조합 수만큼 셀이 존재하게 된다.       
- 즉, 큐브를 구성하는 모든 변수가 동일한 차원을 공유하며, 큐브를 구성하는 모든 셀 역시 동일한 차원을 가진다.    

2)  Block Multicube       
- 동일한 차원을 공유하는 변수 항목들의 집합에 대해 각각 차원을 설정한다.       
- 의미 없는 셀이 생성되지 않기 때문에 보다 효율적으로 큐브를 유지할 수 있다.       
- OLAP 조인을 지원하지 못한다. 즉, 하나의 다차원 질의는 한 번에 오직 하나의 큐브에 대해서만 수행될 수 있다.   

3) Series Multicube       
- 모든 변수 항목들을 별개의 큐브로 다룬다. 즉 각각의 변수 항목에 대하여 개별적으로 차원이 설정된다.       
- 변수는 나머지 차원들과 분리되어 표현되고 있으며 각 변수는 생성과 함께 필요한 차원이 설정되어 진다.   

※ Hypercube 방식과 Multicube 방식의 차이점       
- Hypercube : 모든 변수 항목들이 동일한 차원을 공유한다.       
- Multicube : 각각의 변수 항목이나 변수 항목들에 대해 의미 있는 차원들이 따로 설정됨. 이에 따라 여러 개의 큐브들이 만들어지는데 이러한 큐브들이 모여서 하나의 논리적인 모델을 형성하게 된다.       
- 이 두 가지 방식은 전적으로 논리적인 의미에서 구분되는 것으로, 실제 물리적인 데이터 저장의 관점에서는 두 가지 방식을 다 취하는 경우도 있다.

 

3. 기간 차원   
1) 특성 : 연속성, 순차성, 불규칙성   
2) 시계열(Time-series) 데이터 : 일련의 기간에 걸쳐 발생하는 특정 변수의 값들로 특정한 주기(Peridicity)를 가지며 서로 다른 주기로 값들이 변환될 수 있다.

 

4. 다차원 모델링 과정  

1) 주제 영역(Subject Area)의 설정  

2) 변수 차원 구성항목의 결정       
- 설정된 주제 영역에 대하여 실제 사용자가 분석하고자 하는 항목들을 정의하는 단계       
- 분석하고자 하는 항목들의 집합을 하나의 차원으로 생각할 수 있는데 이를 변수 차원이라고 한다.   

3) 구분 차원(Identifier Dimension)의 결정       
- 변수 차원들을 구성하는 항목들을 어떤 관점에서 분석할 것인지 결정하는 단계       
- 변수 차원 항목들을 분석하는 하나의 관점을 나타내며 변수 차원과 구분하기 위해 구분 차원이라고 한다.       
- 변수 차원은 모델을 구성하는 다른 어떤 차원들보다 먼저 설정되며 나머지 차원들에 대하여 존재 기반을 제공 한다.   

4) 데이터의 구체성 결정       
- 데이터의 상세 수준을 결정하는 단계       
- 변수 차원을 제외한 나머지 차원에 대해, 차원을 구성하는 항목들의 상세 수준을 결정   

5) 계층구조와 애트리뷰트의 정의       
- 각 차원에 대해 분석에 필요한 계층구조와 애트리뷰트를 설정하는 단계   

6) 관계식 정의       
- 항목들 간에 필요한 관계식을 설정       
- 관계식은 변수 차원을 구성하는 항목들에 대해 정의된다.       
- 이러한 관계식은 하나의 차원 내부에서 또는 여러 차원에 걸쳐 각 차원 항목들 간의 관계에 따라 설정된다.

728x90
반응형

'BW' 카테고리의 다른 글

다차원 모델의 구성요소  (0) 2021.12.19
SAP OLAP, DW 정의와 장점  (0) 2021.12.19