OLAP 【Online Analytical Processing】 オンライン分析処理
概要
OLAP(Online Analytical Processing)とは、データベースに蓄積された大量のデータに対し複雑な集計、分析を行い、素早く結果を提示することができるシステム。ここでいう「オンライン」はネットワーク上の意味ではなく、処理を依頼して結果を待つバッチ処理などと対比して、すぐに処理して即座に結果を返すという意味である。一般的なOLAPシステムはまずリレーショナルデータベース(RDB)などに蓄積されたデータを集計して多次元データベースを生成し、これを元に利用者の指示した複雑な分析処理を行う。専門の技術者でなくても検索や分析ができるよう、グラフィック表示や項目選択を多用した操作画面や、表やグラフなどを用いた分かりやすい結果表示などの機能を持つシステムが多い。
通常のデータベースシステムによる集計・レポート機能は定期的、定型的なものが中心で時間がかかることが多いが、OLAPは対話的な操作ですぐに結果を返すことができ、その場限りの特殊な分析を行いたい場合や、試行錯誤を繰り返す必要がある場合に特に威力を発揮する。
MOLAP (多次元OLAP)
OLAPシステムの実装方式の一つで、独自に多次元データ構造を整備してから分析を行うものを「MOLAP」(Multidimensional OLAP)という。最もオーソドックスな実装で、単にOLAPといえばMOLAP方式であることが多い。
元データの格納されたリレーショナルデータベースから必要なデータを取り込み、あらかじめ様々な集計データを算出、「OLAPキューブ」と呼ばれる独自の多次元データベースを構築する。データの抽出や集計などはOLAPキューブを元に実行する。
利用者からの問い合わせに素早く応答することができ、複雑で多角的な分析を得意とするが、取り込み時点までのデータしか利用できないためリアルタイム性では劣る。項目数や組み合わせの数によってはキューブの生成・保管に巨大な記憶容量を要する場合もある。利用者は元データとは異なる独自の多次元データベースについての知識や理解が必要とされる。
ROLAP (リレーショナルOLAP)
OLAPシステムの実装方式の一つで、元データの格納されたリレーショナルデータベースをそのまま利用して分析を行うものを「ROLAP」(Relational OLAP)という。元データの格納されたリレーショナルデータベースをそのまま使い、利用者からの問い合わせに応じてデータを抽出、集計して分析結果を提供する。
独自の集計データベースなどを用意しないため元データをリアルタイムに分析でき、MOLAPで必要となる前処理にかかる時間や多次元データの保管領域も不要である。メーカーによる仕様の違いが小さく互換性が高いが、前処理しない分だけ集計処理に長い時間を要することがある。
HOLAP (ハイブリッドOLAP)
MOLAPとROLAPの中間的な実装で、元データはリレーショナルデータベースに格納したまま、集計データのみを独自の多次元データベースに収める方式を「HOLAP」(Hybrid OLAP)という。MOLAPより少ないデータ量で多次元データを構成でき、分析が集計データの範疇に収まる場合は高い性能を発揮できる。元データが必要な状況ではROLAPと同様となる。