OLAP(Online Analytical Processing)는 데이터 웨어하우스, 데이터 마트 또는 기타 중앙화된 통합 데이터 저장소의 대용량 데이터를 고속으로 다차원 분석하는 소프트웨어이다.
대부분의 비즈니스 데이터에는 여러 차원, 즉 프레젠테이션, 추적 또는 분석을 위해 데이터를 분류하는 기준인 여러 범주가 있다. 예를 들어 매출 수치에는 위치(지역, 국가, 주/도, 매장), 시간(연, 월, 주, 일), 제품(의료, 남성/여성/아동, 브랜드, 유형)과 관련된 여러 차원이 있을 수 있는데, 일반적인 데이터베이스로는 2차원 데이터 밖에 저장할 수 없어 저장 성능이나 구현이 복잡할 수 있다.
OLAP는 여러 관계형 데이터 세트에서 데이터를 추출한 후 매우 빠른 처리와 분석을 위해 다차원 형식으로 재구성하여 유용한 인사이트를 도출한다.
대다수 OLAP 시스템의 핵심인 OLAP 큐브는 다차원 배열 데이터베이스로, 기존의 관계형 데이터베이스보다 훨씬 빠르고 효율적으로 여러 데이터 차원을 처리하고 분석할 수 있다.
관계형 데이터베이스 테이블은 개별 레코드를 2차원(행x열) 형식으로 저장하는 스프레드시트와 같은 구조이다. 데이터베이스의 각 데이터 "팩트"는 지역 및 총 매출과 같은 두 차원(행과 열)의 교차점에 있다.
SQL 및 관계형 데이터베이스 보고 툴은 분명히 테이블에 저장된 다차원 데이터를 쿼리, 보고 및 분석할 수 있지만 데이터 볼륨이 증가하면 성능이 저하된다. 그리고 다른 차원에 초점을 맞추기 위해 결과를 재구성하는 데 많은 작업이 필요하다.
여기서 OLAP 큐브가 사용된다. OLAP 큐브는 추가 레이어를 사용해 테이블을 확장하는데, 각 레이어에 추가 차원(일반적으로 차원의 "개념 계층 구조"에서 다음 수준)을 추가할 수 있다. 예를 들어 큐브의 최상위 레이어는 지역별로 매출을 구성할 수 있으며, 추가 레이어는 국가, 주/도, 시/군/구 및 특정 매장일 수 있다.
이론상 하나의 큐브는 무한한 수의 레이어를 포함할 수 있다. (3차원 이상을 나타내는 OLAP 큐브를 하이퍼큐브라고도 한다.) 또한 레이어 내에 더 작은 큐브가 존재할 수 있다. 예를 들어 각 매장 레이어에는 영업 사원 및 제품별로 매출을 정렬하는 큐브가 포함될 수 있다. 실제로 데이터 분석가는 최적의 분석 및 성능을 위해 필요한 레이어만 포함하는 OLAP 큐브를 생성한다.
참고