OLAP(On-Line Analytical Processing, 온라인 분석 처리)은 소프트웨어 기술의 핵심 요소 중 하나로, 분석가·관리자·경영진이 원시 데이터를 기업의 실제 차원 구조를 반영하도록 가공한 데이터를 다양한 관점에서 빠르고 일관성 있으며 대화형으로 탐색할 수 있도록 지원합니다.
OLAP 서버는 데이터 웨어하우스(data warehouse)나 데이터 마트(data mart)에 저장된 다차원 정보를 비즈니스 사용자에게 제공하며, 사용자는 데이터가 어디에 어떤 방식으로 저장되어 있는지 신경 쓸 필요가 없습니다. 다만 OLAP 서버 자체의 물리적 구조와 구현 과정에서는 데이터 저장 방식이 반드시 고려되어야 합니다.
다양한 OLAP 데이터 큐브(cube) 연산은 여러 관점의 뷰(view)를 실제로 구현해 주며, 이를 통해 사용자는 데이터에 대해 대화형 질의와 분석을 수행할 수 있습니다. 결국 OLAP는 대화형 데이터 분석을 위한 편리한 환경을 제공한다고 할 수 있습니다.
OLAP의 주요 데이터 큐브 연산
1. 슬라이스(Slice)
슬라이스는 하나의 차원(dimension)을 선택하여 더 구체적인 정보를 담은 하위 큐브(subcube)를 만드는 연산입니다. 예를 들어 전체 판매 데이터 중 특정 연도의 데이터만 추출하는 경우가 이에 해당합니다.
2. 다이스(Dice)
다이스는 두 개 이상의 차원에 대해 조건 선택(selection)을 수행하여 하위 큐브를 정의하는 연산입니다. 슬라이스가 단일 차원을 다룬다면, 다이스는 여러 차원을 동시에 필터링한다는 점에서 차이가 있습니다.
3. 롤업(Roll-up)
롤업은 정보를 계층 구조(hierarchy)상 더 높은 일반화 수준으로 요약하는 연산입니다. 예를 들어 지역 계층에서 '도시' 수준을 '국가' 수준으로 올리면, 결과 큐브는 도시별이 아닌 국가별로 데이터를 그룹화하게 됩니다.
또한 롤업은 차원 축소(dimension reduction) 방식으로도 수행할 수 있으며, 이 경우 하나 이상의 차원이 제거됩니다. '위치'와 '시간' 두 차원만 있는 판매 데이터 큐브에서 시간 차원을 삭제하면, 위치·시간별 집계가 아닌 위치별 총 판매액만 집계되는 식입니다.
4. 드릴다운(Drill-down)
드릴다운은 롤업의 반대 연산으로, 덜 상세한 정보에서 더 상세한 정보로 이동합니다. 특정 차원의 개념 계층을 한 단계 아래로 내려가거나, 새로운 차원을 추가함으로써 수행할 수 있습니다.
예를 들어 시간 계층에서 '분기(quarter)' 수준에서 '월(month)' 수준으로 내려가면, 결과 큐브는 분기별 요약 대신 월별 총 판매액을 분석하게 됩니다.
5. 시각화(Visualization)
시각화는 차트, 이미지, 목록 등 다양한 시각적 객체를 활용해 데이터를 그래픽 형태로 표현하는 것을 의미합니다. 이를 통해 사용자는 짧은 시간 안에 데이터를 직관적으로 이해하고, 유용한 정보·패턴·추세를 손쉽게 추출할 수 있습니다.
요컨대 데이터를 그래프 형태로 표현하여 사용자가 데이터 속 추세의 흐름을 쉽게 파악할 수 있도록 하는 것이 바로 데이터 시각화입니다.