- 생각해 보면 일반적인 relational data model 은 1차원이라고 할 수 있다.
- 엄연히 table 로 표현될 수 있는데 뭔놈의 1차원이냐.. 라고 할 수 있는데
- Attribute 만 보면 1차원이 맞자나?
- Multi-Dimensional Data Model 은 더 많은 “차원” 을 표현하기 위한 data model 이다.
- 가령 다음의 “년 분기당 식재료별 가격추이” table 은 2차원이라고 할 수 있다.
- (1차원) 년 분기당 (2차원)
식재료별
가격추이
TIME (QUARTER) | BREAD | EGG | MILK |
---|
Q1 | $10 | $21 | $35 |
Q2 | $11 | $21 | $38 |
Q3 | $11 | $21 | $38 |
Q4 | $11 | $22 | $30 |
- 만약 여기서 차원을 하나 더 추가한다면 어떻게 될까? 가령 “지점별” 이라는 차원을 하나 더 추가한다면?
- 그럼 table 로 표현할 때는 요로코롬 할 수 있을 것이다.
- (1차원) 년 분기당 (2차원)
식재료별
(3차원) 지점별 가격추이
BRANCH | DONGJAK | - | - | GWANAK | - | - | GANGNAM | - | - |
---|
TIME (QUARTER) | BREAD | EGG | MILK | BREAD | EGG | MILK | BREAD | EGG | MILK |
Q1 | $10 | $21 | $35 | $10 | $21 | $35 | $10 | $21 | $35 |
Q2 | $11 | $21 | $38 | $11 | $21 | $38 | $11 | $21 | $38 |
Q3 | $11 | $21 | $38 | $11 | $21 | $38 | $11 | $21 | $38 |
Q4 | $11 | $22 | $30 | $11 | $22 | $30 | $11 | $22 | $30 |
- 근데 이렇게 말고 진짜 3차원 (같은 그림) 으로 표현할 수도 있다. 즉, 큐브 형태로 그릴 수도 있다.
- 이렇듯 “여러 차원” 으로 데이터들을 표현하고 사용하는 data model 을 Multi-dimensional data model 이라고 부르는 것이다.
- 그럼 이렇게 차원을 여러개 붙이는 것이 왜 필요할까? 그것은 데이터를 모아서 “분석”할 때는 여러 관점 (차원) 이 동원될 수 있기 때문이다.
- 가령 피부과 데이터를 분석한다고 생각해 보자.
- 피부과에서는 제공하는 시술에 대한 가령 시술 가격이나 부위 등의 여러 “attribute” 가 있을 것이다.
- 이때 고객이 언제 어떤 시술을 얼마 주고 받았는 지 등의 데이터를 누적하고 있다고 해보자.
- “여름철에는 어떤 시술이 인기일까” 와 같은 분석을 하기 위해서는 이 데이터를 “날짜” 와 “시술 종류” 의 관점으로 분석하면 될 것이다.
- 또는, “20대가 자주 하는 시술은 무엇일까” 와 같은 분석은, “고객 나이” 와 “시술 정보” 의 관점으로 바라보면 될 것이다.
- 즉, 원하는 차원을 골라다가 분석을 하기 위해서 다양한 차원을 가지는 데이터들을 한 곳에 모으게 되는 것이고, 이때 이 데이터들을 기술하는 model 로서 Multi-dimensional data model 을 사용하는 것이다.
- 위에서 “분석” 이라는 말을 했다. 즉, 이 data model 은 OLAP 에서 자주 사용된다.