DB Stories

DBに関する過去、現在、未来の話題をプロフェッショナルの視点で紹介

分析システムにおける多次元データモデル(1)

Star Schema The Complete Referenceについて紹介しましたが、この本をもとにデータウェアハウス(情報分析システム)についてまとめていきます。

データベースの2つの目的

データベースは究極的には2つの目的で利用されます。

  1. トランザクションの記録と参照
  2. データの分析

これを別の言い方をすると以下のように言うことができます。

  1. 業務の「実行」のため 業務(ビジネス)をする上で活動(トランザクション)を記録するために利用されます。例えば、販売システムにおける注文、発送、在庫、返品管理などの記録を行うために利用されます。この種の利用のことをOLTP(On-Line Transaction Processing)と呼びます。一般的な呼び方で言うと「業務システム」というものに相当します。

  2. 業務の「評価、分析」のため 個々のトランザクションに注目するのではなく、データをある集合として分析をするために利用されます。例えば、「注文状況について前月と比較する」などといったもので、個々の注文についてではなく、注文プロセス全体について分析を行うために利用されます。これについては、OLAP(On-Line Analytial Processing)と呼ばれます。一般的には「情報系」「分析システム」「データウェアハウス」などと呼ばれています。

業務システム(OLTP)と分析システム(OLAP)の特徴

業務システムと分析システムの特徴を簡単にまとめると以下のようになります。

業務システム(OLTP) 分析システム(OLAP)
目的 業務処理の実行 業務処理の分析
DBとしての動作 Select, Insert, Update, Delete Select
処理単位 個々の処理をあつかう データの集約
検索パターン 定型的 非定型的(一部定型的)
利用データの鮮度 今と過去
アーキテクチャとして求められる点 更新処理の同時実行性 高速な検索処理
データモデル上の原則 ER設計、第三正規形 多次元データモデル設計、スタースキーマ/キューブ
キーワード トランザクションシステム データウェアハウス
OLTP OLAP

表を見てわかるように2つのシステムは水と油のように対照的な特徴を持っているのが分かります。そのため設計上の注意点も全く異なることになります。

業務システム向けデータモデルの特徴である「ER設計」「正規形」という考え方は非常に有名で参考にすべき情報は数多く存在しますが、分析システムのデータモデルである「スタースキーマ」については情報が少ないのが実情です。この非常に重要なポイントを理解してほしいのでもう少し見ていきます。