온라인 분석 처리

Online analytical processing

온라인 분석 처리 또는 OLAP(//oʊlæp/)컴퓨팅에서 다차원 분석(MDA) 질의에 신속하게 응답하기 위한 접근법이다.[1] OLAP는 관계형 데이터베이스, 보고서 작성 및 데이터 마이닝도 포함하는 광범위한 비즈니스 인텔리전스 범주의 일부다.[2] OLAP의 대표적인 애플리케이션으로는 판매, 마케팅, 경영 보고, 비즈니스 프로세스 관리(BPM),[3] 예산 책정예측, 재무 보고 및 이와 유사한 분야에 대한 비즈니스 보고가 있으며, 농업과 같은 새로운 애플리케이션이 출현한다.[4]

OLAP라는 용어는 전통적인 데이터베이스 용어 온라인 거래 처리(OLTP)를 약간 수정하여 만들어졌다.[5]

OLAP 도구를 사용하면 다차원 데이터를 여러 관점에서 대화형으로 분석할 수 있다. OLAP는 통합(롤업), 드릴다운, 슬라이싱 및 다이싱의 세 가지 기본 분석 작업으로 구성된다.[6]: 402–403 통합은 하나 이상의 차원으로 축적되고 계산될 수 있는 데이터의 집계를 포함한다. 예를 들어 모든 영업소를 영업부나 영업부서로 롤업하여 판매동향을 예측한다. 이와는 대조적으로 드릴다운은 사용자가 세부 사항을 탐색할 수 있는 기법이다. 예를 들어, 사용자는 지역의 매출을 구성하는 개별 상품별 매출을 볼 수 있다. 슬라이싱과 다이싱은 사용자가 OLAP 큐브의 특정 데이터 세트를 꺼내 다른 관점에서 슬라이스를 볼 수 있는 기능이다. 이러한 관점을 차원이라고 부르기도 한다(예: 판매원, 날짜, 고객, 제품, 지역 등)

OLAP용으로 구성된 데이터베이스는 다차원 데이터 모델을 사용하여 실행 시간이 빠른 복잡한 분석 및 임시 쿼리를 허용한다.[7] 그들은 항법 데이터베이스, 계층 데이터베이스 및 관계형 데이터베이스의 측면을 차용한다.

OLAP는 일반적으로 OLTP(온라인 트랜잭션 처리)와 대조되는데, OLTP(온라인 트랜잭션 처리)는 일반적으로 비즈니스 인텔리전스나 보고 목적보다는 거래 처리를 위해 훨씬 덜 복잡한 질의를 더 큰 볼륨으로 하는 것이 특징이다. OLAP 시스템은 대부분 읽기에 최적화되어 있는 반면, OLTP는 모든 종류의 쿼리(읽기, 삽입, 업데이트 및 삭제)를 처리해야 한다.

OLAP 시스템 개요

OLAP 시스템의 핵심에는 OLAP 큐브('다차원 큐브' 또는 하이퍼큐브라고도 한다)가 있다. 치수별로 분류되는 척도라고 하는 숫자적 사실들로 구성된다. 측정은 벡터 공간으로서 치수에 의해 확장되는 하이퍼큐브의 교차점에 배치된다. OLAP 큐브를 조작하는 일반적인 인터페이스는 스프레드시트 프로그램의 피벗 테이블과 같은 매트릭스 인터페이스로, 집계 또는 평균 산출과 같은 차원을 따라 투영 작업을 수행한다.

큐브 메타데이터는 일반적으로 스타 스키마눈송이 스키마 또는 관계형 데이터베이스사실 테이블 별자리에서 생성된다. 측정은 팩트 테이블의 기록에서 도출되고 치수는 치수 테이블에서 도출된다.

척도는 일련의 라벨 또는 그것과 관련된 메타 데이터를 가지고 있다고 생각할 수 있다. 치수란 이러한 라벨을 설명하는 것이다. 치수에는 측정에 대한 정보가 수록되어 있다.

간단한 예로는 상점의 매출을 측정값으로, 날짜/시간을 차원으로 포함하는 큐브가 있다. 각 판매에는 해당 판매에 대해 자세히 설명하는 날짜/시간 라벨이 있다.

예를 들면 다음과 같다.

 판매 팩트 테이블 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------                               +---->    1234    20080902 12:35:43                                       +---------+-------------------+ 

다차원 데이터베이스

다차원 구조는 "다차원 구조를 사용하여 데이터를 구성하고 데이터 간의 관계를 표현하는 관계 모델의 변화"[6]: 177 로 정의된다. 구조는 정육면체로 분할되어 정육면체들은 각 정육면체의 경계 내에 데이터를 저장하고 접근할 수 있다. "다차원 구조 내의 각 셀은 각 차원을 따라 요소와 관련된 집계된 데이터를 포함한다."[6]: 178 데이터를 조작하더라도 접근하기 쉽고, 계속해서 컴팩트한 데이터베이스 형식을 구성한다. 그 자료는 여전히 상호 연관되어 있다. 다차원 구조는 온라인 분석 처리(OLAP) 애플리케이션을 사용하는 분석 데이터베이스에 상당히 인기가 있다.[6] 분석 데이터베이스는 복잡한 비즈니스 질의에 대한 답변을 신속하게 전달할 수 있는 능력 때문에 이러한 데이터베이스를 사용한다. 데이터는 다른 각도에서 볼 수 있어 다른 모델과 달리 문제에 대한 넓은 시야를 제공한다.[8]

집계

복잡한 질의의 경우 OLAP 큐브는 OLTP 관계 데이터에 대한 동일한 질의에 필요한 시간의 약 0.1% 내에 답변을 생성할 수 있다고 주장되어 왔다.[9][10] OLAP에서 이러한 성능을 달성할 수 있는 가장 중요한 메커니즘은 집계를 사용하는 것이다. 집계는 특정 차원에 대한 세분성을 변경하고 집계 함수(또는 집계 함수)를 사용하여 이러한 차원에 따라 데이터를 집계함으로써 팩트 테이블로부터 구축된다. 가능한 집계의 수는 치수 세분화의 가능한 모든 조합에 의해 결정된다.

가능한 모든 집계와 기본 데이터의 조합은 데이터에서 응답할 수 있는 모든 쿼리에 대한 답변을 포함한다.[11]

일반적으로 계산할 수 있는 집계가 많기 때문에, 종종 미리 정해진 숫자만 완전히 계산되고 나머지는 주문에 따라 해결된다. 계산할 집계(뷰)를 결정하는 문제를 뷰 선택 문제라고 한다. 뷰 선택은 선택한 집합의 총 크기, 기본 데이터의 변경으로부터 업데이트하는 시간 또는 두 가지 모두에 의해 제한될 수 있다. 일부 스터디도 업데이트 시간을 최소화하지만 뷰 선택 목적은 일반적으로 OLAP 쿼리에 응답하는 평균 시간을 최소화하는 데 있다. 보기 선택 항목은 NP-완료. 탐욕스러운 알고리즘, 무작위화된 검색, 유전자 알고리즘, A* 검색 알고리즘 등 이 문제에 대한 많은 접근법이 탐구되어 왔다.

일부 집계 함수는 각 셀에 대한 값을 미리 계산한 다음, 이러한 집계를 집계하여 셀 롤업을 위한 집계를 계산하고, 다차원 문제에 분할 및 정복 알고리즘을 적용하여 효율적으로 계산함으로써 OLAP 큐브 전체에 대해 계산할 수 있다.[12] 예를 들어 롤업의 전체 합은 각 셀의 서브섬 합에 불과하다. 이러한 방식으로 분해될 수 있는 함수를 분해 가능한 집계함수라고 하며, 다음을 포함한다. COUNT, MAX, MIN, 그리고 SUM는 각 셀에 대해 계산된 다음 직접 집계할 수 있다; 이것들은 자가 축적 가능한 집계 함수로 알려져 있다.[13] 다른 경우에, 집계 함수는 셀의 보조 숫자를 계산하고, 이 보조 번호를 집계하고, 마지막으로 마지막에 전체 숫자를 계산하여 계산할 수 있다. 예는 다음과 같다. AVERAGE (합계와 카운트, 마지막에 나누기) 및 RANGE (최대값과 최소값, 끝에서 차감). 다른 경우에는 근사치를 계산할 수 있지만, 집합 전체를 한 번에 분석하지 않고는 집계 함수를 계산할 수 없다. 예는 다음과 같다. DISTINCT COUNT, MEDIAN, 그리고 MODE; 예를 들어, 집합의 중위수는 부분 집합의 중위수가 아니다. 이러한 후자는 기본 데이터에 대한 집계 함수를 온라인으로 계산(느리게)하거나 가능한 롤아웃(대공간)을 위해 미리 계산해야 하기 때문에 OLAP에서 효율적으로 구현하기 어렵다.

종류들

OLAP 시스템은 전통적으로 다음과 같은 분류법을 사용하여 분류되었다.[14]

다차원 OLAP(MOLAP)

MOLAP(다차원 온라인 분석 처리)는 OLAP의 고전적인 형태로서 때로는 OLAP라고만 일컬어지기도 한다. MOLAP는 이 데이터를 관계형 데이터베이스가 아닌 최적화된 다차원 배열 스토리지에 저장한다.

일부 MOLAP 도구는 통합과 같은 파생 데이터의 사전 컴퓨팅 및 저장이 필요하다. 즉, 처리라고 하는 작업을 말한다. 그러한 MOLAP 도구는 일반적으로 데이터 큐브라고 하는 사전 계산된 데이터 세트를 이용한다. 데이터 큐브에는 주어진 범위의 질문에 대한 가능한 모든 답변이 포함되어 있다. 그 결과, 그들은 질의에 매우 빠르게 응답한다. 반면 업데이트는 사전 컴퓨팅 정도에 따라 시간이 오래 걸릴 수 있다. 사전 컴퓨팅은 또한 데이터 폭발로 이어질 수 있다.

다른 MOLAP 도구, 특히 기능 데이터베이스 모델을 구현하는 도구는 파생된 데이터를 사전 계산하지 않고 이전에 요청하여 캐시에 저장한 도구 이외의 요구 시 모든 계산을 수행한다.

MOLAP의 장점

  • 최적화된 스토리지, 다차원 인덱싱 및 캐싱으로 빠른 쿼리 성능.
  • 압축 기술로 인해 관계형 데이터베이스에 저장된 데이터에 비해 디스크 내 데이터 크기가 작음
  • 데이터의 상위 레벨 집계에 대한 자동화된 계산.
  • 저차원 데이터 세트에는 매우 소형이다.
  • 어레이 모델은 자연 인덱싱을 제공한다.
  • 집계된 데이터의 사전 구성을 통해 달성된 효과적인 데이터 추출.

MOLAP의 단점

  • 일부 MOLAP 시스템 내에서 처리 단계(데이터 로드)는 특히 대용량 데이터 볼륨에서 상당히 길어질 수 있다. 이것은 일반적으로 전체 데이터 세트를 재처리하는 대신 변경된 데이터(대개 새로운 데이터)만 처리함으로써 교정된다.
  • 일부 MOLAP 방법론은 데이터 중복성을 도입한다.

상품들

MOLAP를 사용하는 상용 제품의 예로는 Cognos Powerplay, Oracle Database OLAP Option, MicroStrategy, Microsoft Analysis Services, Essbase, TM1, Jedox, icCube 등이 있다.

관계형 OLAP(ROLAP)

ROLAP는 관계형 데이터베이스와 직접 작동하며 사전 컴퓨팅을 요구하지 않는다. 기본 데이터와 차원 테이블은 관계형 테이블로 저장되며, 집계된 정보를 보유하기 위해 새로운 테이블이 생성된다. 그것은 전문화된 스키마 디자인에 달려있다. 이 방법론은 관계형 데이터베이스에 저장된 데이터를 조작하여 전통적인 OLAP의 슬라이싱 및 다이싱 기능을 제공하는 것에 의존한다. 본질적으로 슬라이싱과 다이싱의 각 동작은 SQL 문에 "WHERE" 절을 추가하는 것과 같다. ROLAP 도구는 미리 계산된 데이터 큐브를 사용하지 않고 질문에 답변하는 데 필요한 데이터를 다시 가져오기 위해 표준 관계형 데이터베이스와 표에 쿼리를 취한다. ROLAP 도구는 방법론이 큐브의 내용에만 국한되지 않기 때문에 어떤 질문도 할 수 있는 기능을 특징으로 한다. 또한 ROLAP는 데이터베이스에서 가장 낮은 수준의 세부사항까지 드릴다운할 수 있다.

ROLAP가 관계형 데이터베이스 소스를 사용하는 반면, 일반적으로 데이터베이스는 ROLAP 사용을 위해 신중하게 설계되어야 한다. OLTP용으로 설계된 데이터베이스는 ROLAP 데이터베이스처럼 잘 작동하지 않을 것이다. 따라서 ROLAP는 여전히 데이터의 추가 복사본을 생성하는 것을 포함한다. 그러나 데이터베이스인 만큼 다양한 기술을 활용해 데이터베이스를 채울 수 있다.

ROLAP의 장점

  • ROLAP는 대량의 데이터 볼륨, 특히 카디널리티가 매우 높은 차원을 가진 모델(즉, 수백만 명의 멤버)을 처리할 때 더 확장성이 높은 것으로 간주된다.
  • 다양한 데이터 로딩 도구를 사용할 수 있고 추출, 변환, 로드(ETL) 코드를 특정 데이터 모델에 미세 조정할 수 있어 로드 시간은 자동화된 MOLAP 로드에 비해 일반적으로 훨씬 짧다.
  • 데이터는 표준 관계형 데이터베이스에 저장되며 SQL 보고 툴(툴이 OLAP 툴일 필요는 없음)을 통해 액세스할 수 있다.
  • ROLAP 도구는 수집 불가능한 사실(예: 텍스트 설명)을 더 잘 처리한다. MOLAP 도구는 이러한 요소를 쿼리할 때 성능이 저하되는 경향이 있다.
  • 다차원 모델에서 데이터 저장소를 분리함으로써, 엄격한 치수 모델에 맞지 않는 데이터를 성공적으로 모델링할 수 있다.
  • ROLAP 접근방식은 행 수준 보안과 같은 데이터베이스 권한 부여 제어를 활용할 수 있으며, 예를 들어 주어진 사용자 또는 사용자 그룹(SQL WHERE 절)에 적용되는 사전 설정 기준에 따라 쿼리 결과가 필터링된다.

ROLAP의 단점

  • 업계에서는 ROLAP 툴이 MOLAP 툴보다 성능이 느리다는 공감대가 형성돼 있다. 그러나 ROLAP 성능에 대한 아래 논의를 참조하십시오.
  • Aggregate 테이블의 로딩은 사용자 지정 ETL 코드로 관리되어야 한다. ROLAP 도구는 이 작업에 도움이 되지 않는다. 이는 추가 개발 시간과 더 많은 지원 코드를 의미한다.
  • 집계 테이블을 만드는 단계를 건너뛰면 더 큰 상세 테이블을 쿼리해야 하기 때문에 쿼리 성능이 저하된다. 이는 집계 테이블을 추가함으로써 부분적으로 교정할 수 있지만, 치수/특성의 모든 조합에 대한 집계 테이블을 만드는 것은 여전히 실용적이지 않다.
  • ROLAP는 쿼리 및 캐싱을 위해 범용 데이터베이스에 의존하므로 MOLAP 도구에 의해 채택된 몇 가지 특수 기법을 사용할 수 없다(예: 특수 계층 인덱싱). 그러나 최신 ROLAP 도구는 다른 SQL OLAP 확장뿐만 아니라 CUBE 및 ROLUP 연산자, DB2 Cube Views와 같은 SQL 언어의 최신 개선점을 활용한다. 이러한 SQL 개선은 MOLAP 도구의 이점을 완화할 수 있다.
  • ROLAP 도구는 모든 연산에 SQL에 의존하기 때문에 SQL로 잘 번역되지 않는 연산에 모델이 무거울 때는 적합하지 않다. 그러한 모델의 예로는 예산편성, 배분, 재무보고 및 기타 시나리오를 들 수 있다.

ROLAP의 성능

OLAP 산업에서 ROLAP는 대량의 데이터 볼륨에 대해 확장할 수 있지만 MOLAP와는 달리 더 느린 쿼리 성능으로 인해 어려움을 겪고 있는 것으로 인식된다. 모든 주요 OLAP 제품에 대해 6년(2001년~2006년) 동안 실시되고 있는 OLAP 조사에서는 ROLAP를 사용하는 기업이 데이터 볼륨을 고려했을 때에도 MOLAP를 사용하는 기업보다 성능이 느리다고 보고하는 사례가 지속적으로 나타났다.

그러나, 다른 조사와 마찬가지로, 결과를 해석할 때 고려해야 할 많은 미묘한 문제들이 있다.

  • 조사 결과 ROLAP 도구는 각 회사 내 MOLAP 도구보다 사용자가 7배 많은 것으로 나타났다. 사용자가 더 많은 시스템은 사용량이 가장 많은 시간에 더 많은 성능 문제를 겪는 경향이 있다.
  • 치수 수와 계산의 풍부함 양면에서 측정되는 모델의 복잡성에 대한 문제도 있다. 이 조사는 분석되는 데이터의 이러한 변동을 통제할 수 있는 좋은 방법을 제공하지 않는다.

유연성의 단점

일부 기업은 기존의 관계형 데이터베이스 테이블을 재사용할 의도가 있기 때문에 ROLAP를 선택한다. 이러한 표는 OLAP 사용을 위해 최적으로 설계되지 않는 경우가 많다. ROLAP 도구의 뛰어난 유연성은 이것이 최적의 설계보다 덜 작동하도록 허용하지만 성능은 저하된다. 이와는 대조적으로 MOLAP 도구는 데이터를 최적의 OLAP 설계로 다시 로드하도록 강제할 것이다.

하이브리드 OLAP(HOLAP)

추가 ETL 비용과 느린 쿼리 성능 사이의 바람직하지 않은 절충은 대부분의 상용 OLAP 도구들이 현재 "하이브리드 OLAP"(Hybrid OLAP) 접근방식을 사용함을 보장하며, 모델 설계자는 데이터의 어느 부분이 MOLAP에 저장될 것인지와 ROLAP에 저장될 부분을 결정할 수 있다.

"하이브리드 OLAP"를 구성하는 것이 무엇인지에 대해 업계 전반에 걸쳐 명확한 합의가 이루어지지 않고 있으며, 단, 데이터베이스는 관계형 스토리지와 전문 스토리지로 데이터를 나눈다.[15] 예를 들어, 일부 공급업체의 경우, HOLAP 데이터베이스는 관계형 테이블을 사용하여 더 많은 양의 상세 데이터를 보관하고, 더 많은 양의 더 적은 양 또는 더 적은 상세 데이터의 일부 측면에 대해 전문 스토리지를 사용할 것이다. HOLAP는 두 접근방식의 기능을 결합하여 MOLAPROLAP의 단점을 해결한다. HOLAP 도구는 사전 계산된 큐브와 관계형 데이터 소스를 모두 활용할 수 있다.

수직 파티셔닝

이 모드에서 HOLAP는 빠른 쿼리 성능을 위해 MOLAP집계를 저장하고 큐브 처리 시간을 최적화하기 위해 ROLAP에 상세 데이터를 저장한다.

수평 파티셔닝

이 모드에서 HOLAP는 빠른 쿼리 성능을 위해 MOLAP에 보다 최신 데이터(즉, 시간 차원으로 잘라낸 데이터)와 ROLAP에 이전 데이터를 저장한다. 더욱이, 우리는 대형 큐보이드의 경우 밀도가 높고 희박한 하위 지역이 있을 것이라는 사실을 활용하여 MOLAPROLAP에 일부 디스를 저장할 수 있다.[16]

상품들

HOLAP 스토리지를 최초로 제공한 제품은 Holos였지만, 마이크로소프트 Analysis Services, 오라클 Database OLAP 옵션, MicroStrategy, SAP AG BI Accelerator 등 다른 상용 제품에서도 이 기술을 이용할 수 있게 되었다. 하이브리드 OLAP 접근방식은 ROLAP와 MOLAP 기술을 결합하여 ROLAP의 확장성과 MOLAP의 더 빠른 계산의 이점을 제공한다. 예를 들어, HOLAP 서버는 대량의 상세 데이터를 관계형 데이터베이스에 저장하는 한편, 집계는 별도의 MOLAP 저장소에 보관할 수 있다. Microsoft SQL Server 7.0 OLAP 서비스는 하이브리드 OLAP 서버를 지원함

비교

제공자 간 편익의 구체적인 내용에 대해서는 이견이 있지만, 각 유형에는 일정한 편익이 있다.

  • 일부 MOLAP 구현은 데이터베이스 폭발을 일으키기 쉬운데, 이는 많은 수의 차원과 사전 계산된 결과 및 희소 다차원 데이터 등 특정 공통 조건을 충족할 때 MOLAP 데이터베이스에 의해 방대한 양의 스토리지 공간이 사용되는 현상을 야기한다.
  • MOLAP는 일반적으로 특수한 인덱싱 및 스토리지 최적화를 통해 더 나은 성능을 제공한다. MOLAP는 또한 전문화된 스토리지가 일반적으로 압축 기술을 포함하기 때문에 ROLAP에 비해 적은 스토리지 공간을 필요로 한다.[15]
  • ROLAP는 일반적으로 확장성이 더 높다.[15] 다만 대용량 전처리는 효율적인 구현이 어려워 건너뛰기 일쑤다. 그러므로 ROLAP 질의 성능은 엄청나게 저하될 수 있다.
  • ROLAP는 계산을 수행하기 위해 데이터베이스에 더 많이 의존하기 때문에 사용할 수 있는 전문 기능에 더 많은 제한이 있다.
  • HOLAP는 ROLAP와 MOLAP의 장점을 혼합하려고 시도한다. 일반적으로 신속한 사전 처리가 가능하고, 확장성이 우수하며, 우수한 기능 지원을 제공할 수 있다.

기타유형

위의 두문자어만큼 널리 보급되지는 않지만, 다음과 같은 두문자어 또한 가끔 사용된다.

  • WOLAP – 웹 기반 OLAP
  • DOLAP데스크톱 OLAP
  • RTOLAP – 실시간 OLAP
  • GOLAP – 그래프 OLAP[17][18]
  • CaseOLAP – 컨텍스트 인식 시맨틱 OLAP,[19][20] 바이오의약품 애플리케이션용으로 개발. CaseOLAP 플랫폼은 데이터 사전 처리(예: 텍스트 문서 다운로드, 추출 및 구문 분석), Elasticsearch로 색인화 및 검색, Text-Cube라는 기능 문서 구조 생성,[21][22][23][24][25] 핵심 CaseOLAP 알고리즘을 이용한 사용자 정의 구문-범주 관계 정량화 등을 포함한다.

API 및 쿼리 언어

SQL을 표준 질의어로 하고 ODBC, JDBC, OLEDB 등 광범위한 API를 보유한 관계형 데이터베이스와 달리 OLAP 세계에서는 오랫동안 이러한 통일성이 없었다. 최초의 실제 표준 API는 1997년에 등장하여 MDX 질의 언어를 도입한 마이크로소프트의 OLE DB for OLAP 명세서였다. 여러 OLAP 벤더(서버 및 클라이언트 모두)가 채택했다. 2001년에 마이크로소프트와 하이페리온은 대부분의 OLAP 벤더가 보증한 XML for Analysis 사양을 발표했다. 이것 또한 MDX를 쿼리 언어로 사용했기 때문에 MDX는 사실상의 표준이 되었다.[26] 2011년 9월부터 LINQ는 Microsoft 에서 SSAS OLAP 큐브를 쿼리하는 데 사용될 수 있다.네트.[27]

상품들

역사

OLAP 쿼리를 수행한 첫 번째 제품은 1970년에 출시된 익스프레스(Information Resources에서 1995년에 오라클이 인수한 제품)이다.[28] 그러나 이 용어는 에드가 F가 만든 1993년이 되어서야 등장했다. Codd는 "관계 데이터베이스의 아버지"로 묘사되어 왔다. Codd의 논문은[1] Codd가 이전의 Arbur Software(더 liter Hyperion Solutions, 그리고 Oracle이 2007년에 인수한)에 대해 일종의 마케팅 쿠데타로서 맡긴 짧은 컨설팅 과제에서 비롯되었다. 이 회사는 1년 전에 자체 OLAP 제품인 Essbase를 출시했었다. 결과적으로, Codd의 "온라인 분석 처리의 12가지 법칙"은 Essbase에 대한 언급에 명시되었다. 뒤이어 논란이 일었고 컴퓨터월드는 Codd가 Arbur에 의해 지불되었다는 것을 알았을 때 그 기사를 철회했다. OLAP 시장은 1990년대 후반에 수십 개의 상업용 제품이 시장에 출시되면서 강한 성장세를 보였다. 1998년에 마이크로소프트는 OLAP 기술의 폭넓은 채택을 주도하여 그것을 주류로 전환시킨 최초의 OLAP 서버 – 마이크로소프트 Analysis Services를 출시했다.

상품비교

OLAP 클라이언트

OLAP 클라이언트에는 Excel, 웹 애플리케이션, SQL, 대시보드 도구 등과 같은 많은 스프레드시트 프로그램이 포함되어 있다. 많은 고객들은 사용자가 관심의 차원과 척도를 선택하는 쌍방향 데이터 탐색을 지원한다. 일부 치수는 필터(데이터 슬라이싱 및 디싱용)로 사용되며, 다른 치수는 피벗 테이블 또는 피벗 차트의 축으로 선택된다. 사용자는 표시되는 보기(시추 또는 롤업용)의 집계 수준도 변경할 수 있다. 고객은 또한 슬라이더, 지리적 지도, 히트맵 등과 같은 다양한 그래픽 위젯을 제공할 수 있으며, 이를 대시보드로서 그룹화하고 조정할 수 있다. OLAP 서버 비교 표의 시각화 열에 클라이언트의 광범위한 목록이 나타난다.

시장구조

아래는 2006년 최고의 OLAP 공급업체 목록이며, 수백만 달러의 가치가 있다.[29]

노점상 글로벌 매출 통합회사
마이크로소프트 코퍼레이션. 1,806 마이크로소프트
하이페리온솔루션코퍼레이션 1,077 오라클
코냑 735 IBM
비즈니스 개체 416 SAP
마이크로전략 416 마이크로전략
SAP AG 330 SAP
카르테시스(SAP) 210 SAP
어플렉스 205 IBM
인포어 199 인포어
오라클 코퍼레이션 159 오라클
다른이들 152 다른이들
합계 5,700

오픈소스

  • 몬드리안 OLAP 서버자바어로 작성된 오픈소스 OLAP 서버다. MDX 쿼리 언어, XML for Analysisolap4j 인터페이스 사양을 지원한다.
  • Apache Druid는 OLAP 질의용 오픈 소스 분산 데이터 저장소로, 다양한 조직에서 생산 규모에 따라 사용되고 있다.
  • Apache Kylin은 이베이가 원래 개발한 OLAP 질의용 분산 데이터 저장소다.
  • 큐브(OLAP 서버)는 ROLAP가 내장된 파이썬 프로그래밍 언어로 OLAP 기능을 구현한 또 다른 경량 오픈 소스 툴킷이다.
  • LinkedIn, Uber, Slack, Microsoft에서 Apache Pinot(삽입)을 사용하여 대기 시간이 짧은 확장 가능한 실시간 분석을 제공한다.[30] 오프라인 데이터 소스(하둡, 플랫 파일 등)뿐만 아니라 온라인 소스(Kafka 등)에서도 데이터를 수집할 수 있다. 피노는 수평으로 스케일링하도록 설계되었다.
  • ClickHouse는 빠른 처리와 응답 시간에 초점을 맞춘 상당히 새로운 칼럼 지향형 DBMS이다.

참고 항목

참고 문헌 목록

  • Daniel Lemire (December 2007). "Data Warehousing and OLAP-A Research-Oriented Bibliography".
  • Erik Thomsen. (1997). OLAP Solutions: Building Multidimensional Information Systems, 2nd Edition. John Wiley & Sons. ISBN 978-0-471-14931-6.

참조

인용구

  1. ^ a b Codd E.F.; Codd S.B. & Salley C.T. (1993). "Providing OLAP (On-line Analytical Processing) to User-Analysts: An IT Mandate" (PDF). Codd & Date, Inc. Retrieved 2008-03-05.[영구적 데드링크]
  2. ^ Deepak Pareek (2007). Business Intelligence for Telecommunications. CRC Press. pp. 294 pp. ISBN 978-0-8493-8792-0. Retrieved 2008-03-18.
  3. ^ Apostolos Benisis (2010). Business Process Management:A Data Cube To Analyze Business Process Simulation Data For Decision Making. VDM Verlag Dr. Müller e.K. pp. 204 pp. ISBN 978-3-639-22216-6.
  4. ^ Abdullah, Ahsan (November 2009). "Analysis of mealybug incidence on the cotton crop using ADSS-OLAP (Online Analytical Processing) tool". Computers and Electronics in Agriculture. 69 (1): 59–72. doi:10.1016/j.compag.2009.07.003.
  5. ^ "OLAP Council White Paper" (PDF). OLAP Council. 1997. Retrieved 2008-03-18.
  6. ^ a b c d 오브라이언, J. A. & 마라카스, G. M. (2009) 관리 정보 시스템(9조) 보스턴, 매그로우 힐/어윈
  7. ^ Hari Mailvaganam (2007). "Introduction to OLAP – Slice, Dice and Drill!". Data Warehousing Review. Retrieved 2008-03-18.
  8. ^ 윌리엄스, C, 가르자, V.R., 터커, S, 마커스, A.M.(1994년 1월 24일). 다차원 모델은 보기 옵션을 증가시킨다. InfoWorld, 16(4)
  9. ^ MicroStrategy, Incorporated (1995). "The Case for Relational OLAP" (PDF). Retrieved 2008-03-20.
  10. ^ Surajit Chaudhuri & Umeshwar Dayal (1997). "An overview of data warehousing and OLAP technology". SIGMOD Rec. 26 (1): 65. CiteSeerX 10.1.1.211.7178. doi:10.1145/248603.248616. S2CID 8125630.
  11. ^ Gray, Jim; Chaudhuri, Surajit; Layman, Andrew; Reichart, Don; Venkatrao, Murali; Pellow, Frank; Pirahesh, Hamid (1997). "Data Cube: {A} Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals". J. Data Mining and Knowledge Discovery. 1 (1): 29–53. arXiv:cs/0701155. doi:10.1023/A:1009726021843. S2CID 12502175. Retrieved 2008-03-20.
  12. ^ 장 2017, 페이지 1.
  13. ^ Jesus, Baquero & Almeida 2011 2.1 분해능, 페이지 3-4. 없음
  14. ^ Nigel Pendse (2006-06-27). "OLAP architectures". OLAP Report. Archived from the original on January 24, 2008. Retrieved 2008-03-17.
  15. ^ a b c Bach Pedersen, Torben; S. Jensen, Christian (December 2001). "Multidimensional Database Technology". Distributed Systems Online. 34 (12): 40–46. doi:10.1109/2.970558. ISSN 0018-9162.
  16. ^ Owen Kaser와 Daniel Lemire, Attribute Value Reordering for Efficient Hybrid OLAP, Information Science, 176권, 이슈 16, 페이지 2279-2438, 2006.
  17. ^ "This Week in Graph and Entity Analytics". Datanami. 2016-12-07. Retrieved 2018-03-08.
  18. ^ "Cambridge Semantics Announces AnzoGraph Support for Amazon Neptune and Graph Databases". Database Trends and Applications. 2018-02-15. Retrieved 2018-03-08.
  19. ^ Tao, Fangbo; Zhuang, Honglei; Yu, Chi Wang; Wang, Qi; Cassidy, Taylor; Kaplan, Lance; Voss, Clare; Han, Jiawei (2016). "Multi-Dimensional, Phrase-Based Summarization in Text Cubes" (PDF).
  20. ^ Liem, David A.; Murali, Sanjana; Sigdel, Dibakar; Shi, Yu; Wang, Xuan; Shen, Jiaming; Choi, Howard; Caufield, John H.; Wang, Wei; Ping, Peipei; Han, Jiawei (2018-10-01). "Phrase mining of textual data to analyze extracellular matrix protein patterns across cardiovascular disease". American Journal of Physiology. Heart and Circulatory Physiology. 315 (4): H910–H924. doi:10.1152/ajpheart.00175.2018. ISSN 1522-1539. PMC 6230912. PMID 29775406.
  21. ^ Lee, S.; Kim, N.; Kim, J. (2014). A Multi-dimensional Analysis and Data Cube for Unstructured Text and Social Media. 2014 IEEE Fourth International Conference on Big Data and Cloud Computing, Sydney, NSW. pp. 761–764. doi:10.1109/BDCloud.2014.117. ISBN 978-1-4799-6719-3. S2CID 229585.
  22. ^ Ding, B.; Lin, X.C.; Han, J.; Zhai, C.; Srivastava, A.; Oza, N.C. (December 2011). "Efficient Keyword-Based Search for Top-K Cells in Text Cube". IEEE Transactions on Knowledge and Data Engineering. 23 (12): 1795–1810. doi:10.1109/TKDE.2011.34. S2CID 13960227.
  23. ^ Ding, B.; Zhao, B.; Lin, C.X.; Han, J.; Zhai, C. (2010). TopCells: Keyword-based search of top-k aggregated documents in text cube. 2010 IEEE 26th International Conference on Data Engineering (ICDE 2010), Long Beach, CA. pp. 381–384. CiteSeerX 10.1.1.215.7504. doi:10.1109/ICDE.2010.5447838. ISBN 978-1-4244-5445-7. S2CID 14649087.
  24. ^ Lin, C.X.; Ding, B.; Han, K.; Zhu, F.; Zhao, B. (2008). "Text Cube: Computing IR Measures for Multidimensional Text Database Analysis". IEEE Data Mining: 905–910.
  25. ^ Liu, X.; Tang, K.; Hancock, J.; Han, J.; Song, M.; Xu, R.; Pokorny, B. (2013-03-21). "Social Computing, Behavioral-Cultural Modeling and Prediction. SBP 2013. Lecture Notes in Computer Science". In Greenberg, A.M.; Kennedy, W.G.; Bos, N.D. (eds.). A Text Cube Approach to Human, Social and Cultural Behavior in the Twitter Stream (7812 ed.). Berlin, Heidelberg: Springer. pp. 321–330. ISBN 978-3-642-37209-4.
  26. ^ Nigel Pendse (2007-08-23). "Commentary: OLAP API wars". OLAP Report. Archived from the original on May 28, 2008. Retrieved 2008-03-18.
  27. ^ "SSAS Entity Framework Provider for LINQ to SSAS OLAP".
  28. ^ Nigel Pendse (2007-08-23). "The origins of today's OLAP products". OLAP Report. Archived from the original on December 21, 2007. Retrieved November 27, 2007.
  29. ^ Nigel Pendse (2006). "OLAP Market". OLAP Report. Retrieved 2008-03-17.
  30. ^ Yegulalp, Serdar (2015-06-11). "LinkedIn fills another SQL-on-Hadoop niche". InfoWorld. Retrieved 2016-11-19.

원천