BI도구는 몇 개월 단위의 장기적인 데이터의 추이를 시각화하거나
집계의 조건을 세부적으로 바꿀 수 있는 대시보드를 만들려고 할 때 적합합니다.
BI도구는 있는 테이블을 그대로 가져올 뿐만 아니라
시간을 들여 데이터를 분석하기 쉽도록 가공하는 일이 자주 있습니다.
따라서, 시각화에 적합한 데이터 마트를 구축하여 읽고 쓰는것을 대부분 사용합니다.
대화형 대시보드를 만들기 위해서는 그 바탕이 되는 데이터를 모두 포함하는 하나의 테이블을 작성해야합니다.
그러면서 테이블에서는 다수의 테이블을 만듭니다.
전체 숫자를 파악할 수 있는 것이 적어도 한 개 있고
그것을 분해하여 주요 지표를 정리한 것이 몇가지 있으면 좋습니다.
BI도구에서 시각화할 수 있는 내용을 늘리기 위해서 웨어하우스에 있는 테이블을 그대로 사용하려하면 잘 되지 않습니다.
이를 위해서는 배치 처리를 통한 데이터마트 작성이 필요로 합니다.
즉, 알고 싶은 것이 늘어날 때마다 데이터마트에 테이블을 만들고
거기에서 파생되는 다수의 대시보드가 생겨나는 것이 BI도구의 시각화 과정입니다.
BI도구에 있어서 핵심적인 요소는 OLAP입니다.
💡 OLAP는 "Online Analytical Processing"의 약자로, 대량의 데이터를 다차원적으로 분석하고 조회하는 기술을 말합니다. 이는 비즈니스 인텔리전스(BI) 분야에서 주로 사용되며, 사용자가 쉽게 원하는 정보를 추출하고 분석할 수 있도록 지원합니다.
위의 설명과 같이 OLAP는 데이터 집계를 효율적으로 접근하는 방법입니다.
일반적으로 사용되는 RDBSMS 표 형식의 모델링된 데이터를 SQL로 집계합니다.
하지만 OLAP는 다차원 모델의 데이터 구조를 MDX 등의 쿼리 언어로 집계합니다.
그리고 데이터 분석을 위해 만들어진 다차원 데이터를 OLAP큐브 라고 부르고
그것을 크로스 집계 하는 구조가 OLAP입니다.
💡 위의 내용에서 나오는 단어의 뜻을 살펴보자면
- 다차원 모델링(Multidimensional Modeling): 데이터를 여러 차원(예: 시간, 지역, 제품 등)으로 구조화하여 복잡한 쿼리와 리포트 작성을 간소화합니다.
- OLAP 큐브: 다차원 모델링의 결과물로, 데이터의 다양한 요약 정보나 계산된 값을 빠르게 접근할 수 있는 구조입니다.
- MDX(Multidimensional Expressions): OLAP 큐브에서 데이터를 조회하고 조작하기 위한 쿼리 언어입니다.
- 크로스 집계(Cross-Aggregation): 여러 차원을 통해 집계된 데이터를 분석하는 과정이며, OLAP 시스템이 제공하는 주요 기능 중 하나입니다.
예전 같이 컴퓨터의 성능이 좋지 못했을 때는 원하는 데이터로 꾸리는데 오랜 시간이 걸렸기 때문에
OLAP를 고속화 하려는 아이디어가 필수적이었으며
그러기 위해서 크로스 집계의 모든 조합을 미리 계산하여 데이터베이스 안에 캐시해두고
쿼리가 실행되면 이미 집계된 결과를 반환하는 방법을 많이 사용하였습니다.
하지만 최근에는 MPP 데이터베이스와 인 메모리 데이터베이스 등이 보급되면서
위와 같은 방법을 사용 할 필요가 없어졌습니다.
따라서 OLAP 큐브를 위해 특별한 구조를 준비하는 것이 아니라, BI 도구와 MPP 데이터베이스를 조합하여
크로스 집계하는 경우가 증가하고 있습니다.
좋은 글 잘 보고 갑니다 ^^7