728x90

[스타 스키마]

 

스타스키마는 다차원 데이터를 표현하기 위한 관계형 데이터베이스 설계기법이다.

사실(Fact)테이블과 차원(Dimension)테이블로 구성된다.

 

사실테이블을 중심으로 차원테이블들이 뻗어져나오는 형태를 취한 모습 때문에 '스타'라는 이름을 가졌다.

 

사실이란 실제 데이터요소로 주로 숫자로 된 값을 가지는 변수차원의 항목

사실들은 중앙의 사실테이블에 저장된다.

 

차원이란 값들을 보는 관점을 나타내며 각각의 차원은 차원테이블에 표현된다.

차원테이블에는 각 차원의 다양한 속성들이 저장된다.

 

단순하고 쉽게 이해할 수 있는 모델이며 보고서를 만들 때 필요한 조인 횟수를 줄여 성능에 장점을 가진다.

 

 

 

 

[사실 테이블]

 

스타스키마에서 유일하게 정규화된 테이블로 사실들과 각 차원테이블과 연결되는 외래키들을 가진다.

사실테이블은 외래키의 조합으로 기본키를 가지는데 컴포지트 키(Composite Key)라 한다.

 

스타스키마에서 키 값은 대부분 그 자체로는 의미없는 인공키가 사용된다.

키 값은 각 레코드를 구분할 수 있는 최소한의 크기로 시스템에 의해 생성된 수치형태를 가져

최소한의 공간을 차지, 한번에 많은 인덱스가 메모리에 읽혀질 수 있어 성능향상에 도움이된다.

 

 

 

[사실의 유형]

 

사실은 대부분 수치데이터이며 차원의 속성값에 대해 집계(계산)될 수 있다.

이런 사실을 합산가능한 사실(Additive facts)라 한다.

 

일부차원에 대해서 집계한 값이 의미를 갖지 못하는 사실을 일부차원에 대해서만 합산 가능한 사실(Semiadditive facts)라 한다.

, 어떤 차원에서든지 집계 값이 의미를 갖지 못하는 사실을 합산이 되지 않는 사실(Non-additive facts)라 한다.

 

 

 

 

[멀티스타 스키마]

 

사실테이블은 차원테이블과 대응된다. 하지만 키중에 차원테이블이 필요없을 때가 있는데

이처럼 사실테이블의 기본키와 외래키가 동일하지 않은 스타스키마를 멀티스타(Multi-star)스키마라 한다.

 

 

 

 

[차원 테이블]

 

차원테이블은 사실에 대한 사용자관점을 나타낸다.

관점에 대한 특성들을 속성이라 하며 사용자에게 의미가 있고 질의를 통해 볼 수 있는 형태의 값을 가진다.

 

차원테이블은 비정규화된(Denormalized) 데이터구조를 가진다.

필요한 정보가 하나의 테이블에 저장돼있어서 (조인을 줄여) 성능적으로 유리하다.

 

 

 

 

[차원 테이블의 공유]

 

여러 스타 스키마 모델 사이에서 같은 구조를 가지는 차원테이블은 물리적으로는 하나만 존재하지만

여러 모델에서 공유될 수 있다.

차원을 공유할 경우 공유된 차원을 중심으로 모델간 드릴 어크로스(Drill Across)할 수 있다.

[출처] 스타 스키마 (Star Schema)|작성자 Ehne

 

728x90

'DB' 카테고리의 다른 글

DB 정규화  (0) 2014.10.17
MOLAP vs ROLAP  (0) 2014.10.17
빅데이터(BIG DATA)  (0) 2014.10.17
빅데이터 3V  (0) 2014.10.17
create table 옵션  (0) 2014.10.17

+ Recent posts