DWHの要件を満たす仕組み
複数のシステムからのデータを蓄積するDWHのデータ量は膨大なものになる。BIではDWHをベースにして様々な分析を行なうことになり、使い勝手においてDWHの検索スピードは重要な要素となる。業務システムのデータベースはトランザクション処理が重要視されるが、DWHは利用目的が異なるため、トランザクション処理ではなく検索処理が重要となる。
また、DWHには時系列でデータが蓄積されていくが、こうしたデータの整合性を保つことも重要である。たとえば地域コード1000の地域マスタデータが、ある時点で1100と1200という2つの地域マスタデータに分割されたとする。この時、地域マスタと紐づく実績データのうち、分割までのデータは地域コード1000のものとし、分割以降のデータは地域コード1100または1200のものとして扱うことができる仕組みが必要となる。
上記のようなDWHに求められる要件を満たすための仕組みがスター・スキーマとサロゲート・キーである。
スター・スキーマ
スター・スキーマのイメージは下図の通りである。
中心のファクト・テーブルと、それと関連するディメンジョン・テーブルとが星形に表現されるため、「スター・スキーマ」と呼ばれている。
ファクト・テーブルには分析対象の数値データが格納される。ディメンジョン・テーブルには分析の際の切り口となるデータが格納される。ファクト・テーブルとディメンジョン・テーブルとはキーで関連をもつ。このような構造にする主なメリットは次の2点である。
- ディメンジョン・テーブル同士では関連を持たないため、テーブル間の結合がシンプルになり、検索性能が速い。
- 大量のデータが蓄積されるファクト・テーブルにはディメンジョン・テーブルのキーと数値データのみを格納することで、データ量の増大を防ぐことができる。
サロゲート・キー
サロゲート・キー(図の地域キー)とは、業務システムで使用するキー(図の地域コード)とは別に、DWHでのみ使用するキーとなる。サロゲート・キーはDWHにデータを書き込む際に、業務システムでのキーとは別に付与され、一般的には常に付与される。図ではディメンジョン・テーブルの地域テーブルにデータを書き込む際に付与されることになる。そして、ファクト・テーブルとディメンジョン・テーブルを紐づけるキーとしてサロゲート・キーを使用するのである。
業務システムではデータの意味がある時点で変わることがある。このときDWH専用のサロゲート・キーでファクト・テーブルとディメンジョン・テーブルとを紐づけることで、時系列で蓄積されるデータの整合性を保つことができる。
サロゲート・キーを使用しない場合と使用した場合の例は下図のようになる。
図の例では4月1日に業務システムで地域コード1000(東日本)が1000(北海道)、1100(東北)、1200(関東)などに分割されている。この時地域コードで販売実績データと紐づけると4月1日以降に北海道の販売実績を出力しようとして地域コード1000を指定すると、3月31日以前の販売実績データについては東日本のデータが北海道のものとして出力されてしまうことになる。
これに対し、サロゲート・キーを使用した場合は東日本としての地域コード1000は00001というサロゲート・キーで、北海道としての地域コード1000は00002というサロゲート・キーで表わされる。そのため、4/1以降に北海道の販売実績を出力する場合は、00002というサロゲート・キーを指定することになり、北海道の販売実績に3月31日以前の東日本の販売実績は含まれなくなる。
分析機能
一般にBIというとこの機能をイメージする方が多いであろう。OLAP(Online Analytical Processing)と呼ばれる方式での多次元分析を行なう機能である。多次元の次元とは分析の際のデータの切り口のことであり、スター・スキーマのディメンジョン・テーブルに相当する。次元の組み合わせに対して販売数量、販売金額などの数値データを持つ。これがファクト・テーブルの数値カラムに相当する。
多次元のイメージは下図のようになる。
この多次元の構造を用いることで、商品別の販売金額、商品別・顧客別の組み合わせでの販売金額など様々な切り口での分析が可能となる。また、次元を階層化することで「ドリルダウン」と呼ばれるデータの詳細化の機能を利用することができる。
たとえば地域を東日本・西日本などの第1階層 - 都道府県の第2階層 - 支店が担当するエリアの第3階層といった階層構造にしておくと、第1階層で集約されて表示された数値を第2階層、第3階層にドリルダウンすることで詳細レベルで見ることができる。
レポーティング機能
定型レポート、アドホック・レポートの2つの機能に分かれる。
定型レポートとは、あらかじめ決められた条件に基づいてデータを一覧表やグラフの形式で出力する機能である。経営会議で使用するレポートなど、定型的なレポートの出力にこの機能を使用する。アドホック・レポートとはエンドユーザーが必要に応じて出力する項目や出力条件を決めて一覧表の形式で出力する機能である。
これらの機能が出力する対象データはDWHに蓄積されたデータだけでなく、業務システムのデータを直接出力するということもある。
ダッシュボード機能
あらかじめ決められた条件に基づいてデータを取得し、グラフなど一目で状況が把握できる形式で出力する機能である。メーターや信号などのアイコンを用いることで視覚的に分かりやすい形式で表示する。グラフをクリックすることで詳細データを表示したり多次元分析機能を組み込んだりすることも可能である。
最後に、分析機能、レポーティング機能、ダッシュボード機能の主な利用者層は次のようになる。
- ダッシュボード機能→経営層
- 分析機能→パワーユーザー(分析を専門に行なう担当者など)
- レポーティング機能→一般ユーザー
次ページ「BIの導入手順」に続く
この連載の記事
-
最終回
ソフトウェア・仮想化
インタラクティブなBIダッシュボードを自分で作る -
第6回
ソフトウェア・仮想化
ついにBIのレポートを作成!どんどん実践的に使おう -
第5回
ソフトウェア・仮想化
いよいよキューブを作ってWebブラウザから閲覧開始! -
第4回
ソフトウェア・仮想化
DWHを自分で作ろう!環境構築からデータ登録まで -
第3回
ソフトウェア・仮想化
あなたのパソコンで、BIを実地体験してみよう -
第1回
ソフトウェア・仮想化
「先輩、BIって知ってますか?」― 知識ゼロから学ぶBI -
ソフトウェア・仮想化
BIとは? 基礎からわかる最新BI事情 - この連載の一覧へ