OLAP

**OLAP**（オーラップ）は、複雑で分析的な問い合わせに素早く回答を行う方法。ビジネスインテリジェンスと呼ばれるより大きなカテゴリに属している。 OLAPの典型的な用途は売上報告、市場分析、経営報告、ビジネス業績管理（BPM）、予算作成、計画作成、財務諸表作成などである。****の頭文字を略した語であり、日本語では**オンライン分析処理**もしくは**多次元分析**とも呼ばれる。

OLAPの主な特徴は以下の点にある。
* （関係モデルではなく）多次元データモデルを操作すること
* 複雑、分析的でその場に応じた問い合わせを行えること
* 非常に高速（通常は5秒以内に結果を返す）であること

このような理由から、はOLAPのコンセプトをより正確に表す言葉としてFASMI（）を提唱している。

## 機能
OLAPはまず関係データベースのスナップショットを取り、多次元データとして再構成する。その後、問い合わせを行うことができるようになる。複雑で膨大なデータに問い合わせた場合、OLAPは関係データベースに同様の問い合わせを行う場合に比較して予め集計してあるデータを利用することで、極めて短時間に処理を実施する。

OLAPは、一般にデータウェアハウスまたはデータマート上のデータを対象に用いられる。運用系のデータベースは、既知のOLTP負荷を高いスループットで処理するよう設計されるのに対し、OLAPでは大量レコードに対する走査、結合、集計を伴う非定型の問合せが中心となる。そのため、分析用途では運用系とは別に履歴・統合データを保持する構成が一般的である。

意思決定支援では、現在値だけでなく、長期間にわたる履歴データや、複数の運用データベース・外部ソースから整理されたデータが重要になる。このため、OLAPの前段には、抽出・変換・ロードを行って分析用データを整備するETLや、主題別に切り出したデータマートの設計が位置づけられることが多い。OLAPの典型的な操作としては、集約度を上げるロールアップ、詳細側へ掘り下げるドリルダウン、特定の次元値や条件で部分集合を取り出すスライス/ダイス、表示軸を入れ替えて多次元ビューを再構成するピボットがある。これらの操作により、利用者は同じデータ集合を要約水準と詳細水準のあいだで往復しながら、複数の観点から探索的に分析できる。

この操作データからなるOLAPの構造はOLAPキューブと呼ばれている。キューブはスタースキーマを形成するテーブルの一群からなり、中心にはが存在する。このファクトテーブルには問い合わせの中心的な事実が格納されており、複数のディメンジョンテーブルがここにリンクしている。このディメンジョンテーブルの中にどのように関係データを集計し分析できるのかが定義されている。ここで、元データをどのような階層構造で集計するのかによってありうる集計方法の数は変わってくる。

例えば、顧客は市・地域・国によって分類されるとすると、50都市・8地域・2カ国に存在するデータであれば3階層・合計60項目のデータとなる。ここでこの顧客と製品との関係を見たいとすれば、例えば製品は250品目・20カテゴリ・3ファミリ・3部門であるとすると合計276項目のデータとなる。この二つのディメンジョンだけでも16,560ものありうる集計が発生してしまう。考慮されるべきデータが増えるにつれて集計の数はすぐに何百万もの数になってしまう。

集計の計算結果と元データは統合されてOLAPキューブとなる。原理的にはOLAPキューブは可能性のある問いに対する全ての答えを保持することができる。だが、潜在的な集計の数が余りに多いために前もって決められた物のみを完全に集計し、残りは要求に応じて集計する場合もある。

## 種類
基本的な概念からさらに踏み込むと、OLAPは（多次元（）オンライン分析処理）・（関係（）オンライン分析処理）・（ハイブリッド（）オンライン分析処理）の3種類に分類される。MOLAPは伝統的なOLAPの形式であり、単にOLAPと呼ばれる場合もある。MOLAPは集計用の特殊なデータベースを使用する。この中に特定の多次元データベースエンジンがあり、元データと集計値の両方を持つ次元軸の集まりとして必要なスキーマを作成する。これに対して、ROLAPは関係データベースに直接アクセスする。元データとディメンジョンテーブルは関係テーブルとして保持され、集計値を保持するために新しいテーブルが作成される。HOLAPでは元データは関係テーブルに保持され、集計値は多次元テーブルに保持される。

どの種類もそれなりの利点があるが、種類によって利点の詳細は異なってくる。MOLAPはデータが少ない場合に有利であり集計値を計算して返すのが速いが、大量のデータを作成してしまう欠点がある。ROLAPはよりスケーラブルであり最小の容量で済むが、前処理と問い合わせのパフォーマンスが悪くなってしまう。HOLAPは両者の中間と言えるが、前処理が速くスケーラビリティもある。OLAPを実装する際に困難なのは問い合わせを作成することである。つまり元データを選択しスキーマを構築する部分であるが、そのために大抵のOLAP製品では大量の事前に準備された問い合わせのライブラリを持っている。その他の問題としては元データの問題が挙げられる。元データは完全でかつ一貫性がなければならない。

## APIと問い合わせ言語
関係データベースにはSQLという標準化された問い合わせ言語やODBC・JDBC・OLE DBのように広く普及したAPIが存在するが、OLAPでは統一された規格は存在しない。最初の実務的な標準であるAPIは1997年のマイクロソフトのOLEDB for OLAPであり、MDX問い合わせ言語をもたらした。これは複数のOLAPベンダがクライアントとサーバの両方に採用している。2001年にマイクロソフトとは分析記述用のXMLA (XML for Analysis）を発表しており、ほとんどのベンダに採用されている。この標準はMDXを問い合わせ言語として使用しているため、MDXはOLAPの世界ではデファクトスタンダードとなった。

## 製品
OLAP問い合わせを実行できる最初の製品は1970年に発表されたIRI（1995年にオラクルに買収された）のExpressである。しかし当時はこの用語自体が存在せず、1993年に、リレーショナルデータベースの父と呼ばれるエドガー・F・コッドにより提唱された。しかしコッドの研究はArborに資金援助を受けており、さらにArborは1年前にというOLAP製品をリリースしていた。そのため、コッドの「」はEssbaseを参照していたことは明らかである。

## 主な製品一覧

*Brio Enterprise：
*Cognos
*DataNature
*DB2 Cube Views：IBM
*Dr.Sum
*Hyperion 
*icCube
*JasperReports Server
*Microsoft SQL Server Analysis Services：マイクロソフト（以前はMicrosoft SQL Server OLAP Servicesと呼ばれていた）
*MicroStrategy
*Mondrian（オープンソース）
*OpenOLAP
*OpenOLAP for MySQL
*Open Text Business Intelligence （低価格BIツール。以前はBI Queryと呼ばれていた）
*Oracle OLAP Server
*Pentaho
*Sagent
*SAP BusinessObjects：SAP
*SAP Business Warehouse (SAP BW)：SAP
*SAP HANA：SAP
*SAS OLAP Server ：SAS Institute
*WebFOCUS：Information Builders

BPM製品のベンダはOLAPで大きな地位を占めている。

## 外部リンク
* Dimensional Modeling and OLAP Tutorial
* Data Warehousing and OLAP：A Research-Oriented Bibliography
* OLAP Report：In depth overview of all commercial OLAP products
* Microsoft OLAP information
* Mondrian Java R-OLAP server
* Lemur OLAP C++ Library (実験的なGPLライブラリ)
*A chapter from Erik Thomsen's book ''OLAP Solutions：Building Multidimensional Information Systems'', 2nd Edition
*Jaspersoft(日本語サイト)
*Pentaho BI suite

## 脚注
### 注釈

	
### 出典