본문 바로가기
학습장/Data Engineering

[DW] OLAP 정의와 목적

by daedoo_ 2022. 11. 18.

OLAP 정의와 목적

  • 최종 사용자가 다차원 정보에 직접 접근하여 대화식으로 정보를 분석하여 의사결정에 활용하는 과정
    • 일반적으로 운영 데이터는 수집과 갱신에 초점을 맞추어 설계되어 최종 사용자(비즈니스유저)가 직접 사용하기는 불편
    • 반면, OLAP 환경에서는 사용자가 쉽게 이해할 수 있고 조작하기 쉬운 형태로 존재
  • DW는 어떻게 데이터를 구축할 것인가에 초점, OLAP은 DW를 어떻게 활용할 것인가에 초점
  • DW는 OLAP을 위한 주요 데이터 원천
  • OLTP는 트랜잭션 단위로 처리하는 것에 중점이라면, OLAP은 최적화된 조회에 목적
  • CUBE
    • 선계산 값을 미리 산출하여 저장하는 연산
    • 차원 테이블들과 팩트 테이블을 활용하여 분석을 위해 집계된 데이터 구조
      • 다차원 데이터셋 (임의의 수의 차원을 가질 수 있다)
    • 차원은 하이라키 구조로 구성될 수 있다
  • OLAP 제품 분류
    1. MOLAP (Multidimensional)
      • 결과값을 다차원 배열로 저장, 저장과 프로세싱에 MDB(Multidimensional DB)가 사용
      • MDB는 DW에서 관련 데이터들을 주기적으로 가져와서 갱신 필요
        • 최종 사용자로부터의 분석 및 질의 요구는 모두 MOLAP 서버에서 처리
      • 흔히 떠오르는 인메모리 방식의 BI Tool들에 해당??
      • 장점: 검색속도가 빠르고 ROLAP대비 사용이 쉽다(?)
      • 단점: 차원을 미리 정의내리고, 데이터큐브를 먼저 생성 후(?) 데이터를 MDB에 적재? (미리 생성 된 차원에 한해서만 사용자가 확인 가능)
    2. ROLAP (Relational)
      • 결과값을 DB에 저장하므로 저장에 용이(summary 테이블?)
        • 인메모리 방식 아닌, 그때그때 DW로 쿼리 날리는 BI Tool 인건가 (이런게 있나? Longview? MSTR도 ROLAP 형식의 보고서가 가능하다고 함..)
        • DB에서 조회되므로 쿼리 성능 중요
      • 리포팅 시마다 추가적인 연산 필요
        • 최종 사용자의 질의 요구를 SQL문으로 변환하여 DW로 전달
        • DW로 부터의 처리 결과를 가공하여 최종 사용자에게 전달
      • 쉽게 말하면, 워드닷컴,IDS 방식?
    3. DOLAP (Desktop)
      • 결과값을 선계산 하는 방식이 아닌, 최종 사용자의 요청에 따라 직접 DW에 접근하여 집계 처리
      • 서버 개념 없이 최종 사용자가 직접 DW에 접근
        • DW추출 후 사용자의 PC에 저장하는 형태
      • 저장과 프로세싱이 모두 클라이언트에서 이루어짐, 필요한 데이터가 모두 클라이언트로 이동하게 되어 대용량 데이터 처리에는 한계
    4. HOLAP (Hybrid)
      • MOLAP + ROLAP의 장점
      • 결과값의 저장을 MOLAP / ROLAP 선택 가능
  • 선계산된 값(결과값)들을 어떻게 저장하느냐에 따라 구분

OLAP의 기본 분석 유형

  • 드릴업 (롤업)
    • 작은 단위에서 큰 단위로 이동하는 연산(차원 낮추기)
    •  

roll-up

  • 드릴다운
    • 큰 단위에서 작은 단위로 세분화 (차원 높이기)
    •  

 

  • 드릴스루
    • 드릴다운 방식으로 조회 하다가, 특정 데이터에 대한 상세 데이터를 조회하는 방식, 다차원 데이터 보다는 관계형 데이터에 대한 접근을 의미 (raw데이터?)
  • 슬라이스
    • 큐브의 한 조각을 연산, 큐브의 한 단면 보기 (1개 차원 선택)
    •  

  • 다이스
    • 슬라이스와 비슷, 하위 큐브 만들기 위해 2개 이상의 차원 선택
    •  

 

  • 피벗
    • 데이터 축을 회전하여 제공
    •  

'학습장 > Data Engineering' 카테고리의 다른 글

[DW] Mart Modeling  (1) 2022.11.28
[DW] Dimensional Modeling  (2) 2022.11.24
[DB] index 등 기본개념 정리  (3) 2022.11.08
spark 실행구조  (0) 2022.10.31
[spark] RDD란?  (2) 2022.10.24

댓글