Skip to content

OLAP

OLAP(Online Analytical Processing)는 데이터 웨어하우스, 데이터 마트 또는 기타 중앙화된 통합 데이터 저장소의 대용량 데이터를 고속으로 다차원 분석하는 소프트웨어이다.

대부분의 비즈니스 데이터에는 여러 차원, 즉 프레젠테이션, 추적 또는 분석을 위해 데이터를 분류하는 기준인 여러 범주가 있다. 예를 들어 매출 수치에는 위치(지역, 국가, 주/도, 매장), 시간(연, 월, 주, 일), 제품(의료, 남성/여성/아동, 브랜드, 유형)과 관련된 여러 차원이 있을 수 있는데, 일반적인 데이터베이스로는 2차원 데이터 밖에 저장할 수 없어 저장 성능이나 구현이 복잡할 수 있다.

OLAP는 여러 관계형 데이터 세트에서 데이터를 추출한 후 매우 빠른 처리와 분석을 위해 다차원 형식으로 재구성하여 유용한 인사이트를 도출한다.

image

OLAP 큐브란?

대다수 OLAP 시스템의 핵심인 OLAP 큐브는 다차원 배열 데이터베이스로, 기존의 관계형 데이터베이스보다 훨씬 빠르고 효율적으로 여러 데이터 차원을 처리하고 분석할 수 있다.

관계형 데이터베이스 테이블은 개별 레코드를 2차원(행x열) 형식으로 저장하는 스프레드시트와 같은 구조이다. 데이터베이스의 각 데이터 “팩트”는 지역 및 총 매출과 같은 두 차원(행과 열)의 교차점에 있다.

SQL 및 관계형 데이터베이스 보고 툴은 분명히 테이블에 저장된 다차원 데이터를 쿼리, 보고 및 분석할 수 있지만 데이터 볼륨이 증가하면 성능이 저하된다. 그리고 다른 차원에 초점을 맞추기 위해 결과를 재구성하는 데 많은 작업이 필요하다.

여기서 OLAP 큐브가 사용된다. OLAP 큐브는 추가 레이어를 사용해 테이블을 확장하는데, 각 레이어에 추가 차원(일반적으로 차원의 “개념 계층 구조”에서 다음 수준)을 추가할 수 있다. 예를 들어 큐브의 최상위 레이어는 지역별로 매출을 구성할 수 있으며, 추가 레이어는 국가, 주/도, 시/군/구 및 특정 매장일 수 있다.

이론상 하나의 큐브는 무한한 수의 레이어를 포함할 수 있다. (3차원 이상을 나타내는 OLAP 큐브를 하이퍼큐브라고도 한다.) 또한 레이어 내에 더 작은 큐브가 존재할 수 있다. 예를 들어 각 매장 레이어에는 영업 사원 및 제품별로 매출을 정렬하는 큐브가 포함될 수 있다. 실제로 데이터 분석가는 최적의 분석 및 성능을 위해 필요한 레이어만 포함하는 OLAP 큐브를 생성한다.


참고