4차원 속독법

  • 생각해 보면 일반적인 relational data model 은 1차원이라고 할 수 있다.
    • 엄연히 table 로 표현될 수 있는데 뭔놈의 1차원이냐.. 라고 할 수 있는데
    • Attribute 만 보면 1차원이 맞자나?
  • Multi-Dimensional Data Model 은 더 많은 “차원” 을 표현하기 위한 data model 이다.
  • 가령 다음의 “년 분기당 식재료별 가격추이” table 은 2차원이라고 할 수 있다.
    • (1차원) 년 분기당 (2차원) 식재료별 가격추이
TIME (QUARTER)BREADEGGMILK
Q1$10$21$35
Q2$11$21$38
Q3$11$21$38
Q4$11$22$30
  • 만약 여기서 차원을 하나 더 추가한다면 어떻게 될까? 가령 “지점별” 이라는 차원을 하나 더 추가한다면?
  • 그럼 table 로 표현할 때는 요로코롬 할 수 있을 것이다.
    • (1차원) 년 분기당 (2차원) 식재료별 (3차원) 지점별 가격추이
BRANCHDONGJAK--GWANAK--GANGNAM--
TIME (QUARTER)BREADEGGMILKBREADEGGMILKBREADEGGMILK
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 에서 자주 사용된다.