DB Stories

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

ディメンションテーブルの整合性(conformed dimensions) (2)

複数のススタースキーマがもたらす効果

多次元データモデルは個別に作成されることがほとんどです。どのデータウェアハウスアーキテクチャにおいても、全社レベルのデータを完全に考慮(包含)した一つのデータセットを用意するというプロジェクトとは非現実的なものです。現実のプロジェクトスコープは全社レベルから目的別レベルの部分を範囲とする例がほとんどです。

新しいスタースキーマが作成されるにつれて、その企業にとってデータ分析上のメリットが2つあります。一つ目は (当たり前ですが)そのスタースキーマを利用して業務分析が可能となることです。当事者として、責任者として、また興味がある者として業務活動による数値を見ることが可能になります。例えば「販売/売上」データについては全従業員が関心を持つデータでもあります。

2つ目の利点については初めから意識する場合もありますが必ずしもそうでない場合もあります。作成したスタースキーマは新しい業務プロセス分析を可能とするだけでなく、ほかのプロセスとの比較を可能にするということです。つまり、関係者だけでなくより上位層(経営層)にとっての分析が可能となります。 以前紹介した下の図において、営業活動、営業提案、受注、配送といった多くのプロセセスを比較しています。このような業務プロセスを分析を組み合わせたレポートは営業責任者、経営層、投資家にとっても有用な情報です。

f:id:good-value:20171109204907j:plain

またこのレポートでは成約率(営業活動と注文実績の比率)が示されています。この数値も特定の担当者にとっては重要な数値(KPI)ですが、プロセス横断検索をすることでようやく取得できる数値です。スタースキーマの設計者は業務プロセス間で求める値(例えば先ほどの成約率)について明文化しておく必要があります。この数値はテーブルに値を持っているわけではないので、ドキュメント化されていないと容易に失ってしまうからです。

すべての業務は他の業務とリンクすることで行われていて、例えば商品開発や買収、顧客基盤の買収、収益を合わせて積み上げといったことから始まる場合もあります。この種のリンクはミクロ/マクロレベル双方において存在します。例えば販売といった目的別データにおいても先ほどの図のように複数の業務が連携しています。販売はマクロレベルにおいても商品開発、販売促進、顧客サポート、会計といった連携も存在します。

そのぞれの業務プロセスを表すスタースキーマは共通ディメンションによってお互いが連携(関連付け)されます。これを表現しているのが以下の図です。

f:id:good-value:20171225225136j:plain

受注、発送などの各種スタースキーマが一連のディメンションによって関連付けられています。図の中心にあるこれらのディメンションが業務プロセス間の分析をフレームワークのように機能します。同一ディメンションによって連結された2つのファクトテーブルは前回紹介した横断分析手法によって比較分析することが理論的に可能となります。

論理的モデルにおいて、複数のスタースキーマが共通のディメンションを利用する場合のディメンションを整合性のあるディメンション(conformed dimensions)と呼びます。前回提示したようにディメンションテーブルは物理的に同一である必要はありません。物理的に分離していたとしても、整合性が取れているのであれば業務横断分析は可能です。

ディメンションが整合性をとれていない場合、データ分析としての短期の目的は満たすことができますが、長期的な視点では足かせとなります。受注と出荷のスタースキーマの例において、別々に導入した場合の例を考えてみます。それぞれのシステムが稼働を迎えた後、そのデータの分析を行いたい関係者が増えていくことを意味します。そしてこの2つのシステム実装が別々に行われているという事実はデータ分析実装を行うデータウェアハウスチームにも影響していくことになります。もしそれぞれのスタースキーマが顧客、製品についての共通の情報を利用していなければ、データ分析としては個別最適化というレベルにとどまることになります。つまり、受注や出荷の分析はできたとしても、その2つの比較はできないという事態となることになります。単なる機会損失だけならまだ良いほうで最悪はデータ分析基盤(analytic infrastructure)そのものに対する不信につながることになります。

次回以降説明していきますが、ディメンションの整合性については様々な方法が存在します。この整合性は先ほどの図のようなER図によって表現されることになりますが、このような図による表現は次第に作成とそれを理解をするのが難しいものになってしまいます。この整合性に対する基本的な概念についてはもっと別の方法で表現をおこないます。

データ利用の長期視点の成功を考えたときに、ディメンションの整合性(conforming dimensions)は多次元データモデルを利用するどのデータウェアハウスアーキテクチャであっても重要な要素となります。整合性を保つ方法やその実装についての具体的な話をする前に、業務横断検索でどうなっていれば利用可能となるのかという点と、ディメンションの整合性がどのように個別対応ではなく横断検索をもたらすなるかというのを見ていきます。

次回は業務横断分析におけるディメンションの役割についてです。 (つづく)