4.8 パーティションオプション、マテリアライズドビュー

4.8 パーティションオプション、マテリアライズドビュー

マテリアライズドビューの設計

マテリアライズドビューを定義するためには、オンライン業務で集積されたデータをどのように活用するのかを定義する必要があります。 分析要件を定義するにあたり、次の点を明確にする必要があります。

  • 何を分析したいのか
  • どのような観点から分析する必要があるのか
  • その結果、目標値はどこに設定するのか

何を(売上、利益、数量など)、どのような観点から(店舗別、商品分類別、顧客層別など)分析し、どのような効果をあげればよいのか、企業戦略を理解し、具体化し、設計します。
このように、分析業務で何を求められるのかをまず明確にする必要があります。
業務系データの分析と活用で重要な分析項目の例を以下に示します。

  • 販売管理データを利用して、売上実績、目標達成度を店舗別、商品別、顧客別に分析する
  • 会計データを活用して、利益、コストを店舗別に分析する
  • 在庫管理データを利用して、在庫量、在庫金額、不良在庫店舗別、品目別に分析する

このような分析を行うにあたり、次のようなデータを管理する必要があります。

業務系データの分析に必要な要素として、管理ポイントと管理項目があります。
管理ポイントには、時間、商品、顧客、地域などのさまざまな分析の切り口での粒度の異なる項目があり、これらをディメンジョンといいます。
管理項目には、数量、金額、利益率など、何を指標として分析するかという数値があります。
この数値の種類のことをファクトといいます。

分析の際に必要なデータを大別すると、図4-39のように、分析の切り口と、何を管理すべきかの2つをまず決める必要があります。
データウェアハウスの用語として、分析の切り口は管理ポイント、何を管理すべきかの指標にあたるデータは管理項目と呼ばれます。

管理ポイントと管理項目でそれぞれどのような点に注意して設計すべきかをもう少し詳しくみていきます。

まず、管理ポイントですが、分析業務を行うユーザの分析ニーズをヒアリングして、分析の切り口を決めます。
このとき、次の2点に注意して情報を収集します。

1. データの粒度:
データの粒度とは、たとえば時間軸を見るとわかりやすいのですが、データを集計するにあたり、どのレベルでデータを集積するのか、日、週、月、四半期、年といった単位を決めることです
また、店舗データの地域という単位は、市区町村のレベルなのか、都道府県のレベルなのか、どのレベルまで集計するのかの単位のことを指します

2. データの粒度:
データの粒度とは、たとえば時間軸を見るとわかりやすいのですが、データを集計するにあたり、どのレベルでデータを集積するのか、日、週、月、四半期、年といった単位を決めることです
また、店舗データの地域という単位は、市区町村のレベルなのか、都道府県のレベルなのか、どのレベルまで集計するのかの単位のことを指します

次に管理項目についてみていきます。

図4-41では、管理項目として、予算金額、売上原価、売上数量、売上金額を収集することにしています。
どのような項目を管理項目として収集すべきかをまずヒアリングしますが、ユーザヒアリングの際、次の点にも留意して情報を収集してください。

  • 1. 管理ポイントに対して同じ粒度で情報を収集することができるか:
    たとえば、管理ポイントとして時間軸を考え、管理項目として予算金額を考えてみます
    このとき、予算金額は、毎日収集されるものではなく、企業によって、毎月または四半期に一度しか取得できないという制約があることを管理します
  • 2. いつのデータを最新のものとして定義するか:
    売上データなどは、マテリアライズドビューではリアルタイムのデータも収集できますが、オンラインの業務に影響を与える可能性が高いことを念頭に置く必要があります
    分析業務では、1日の処理終了後のバッチ処理で集計できる前日末などのレベルで設計するのが理想的ですが、ユーザ要件によってそうもいかない場合があるでしょう
    また、予算データは前月初めの時点または当四半期初時点という定義になったりします
  • 3. データの保存期間:
    オンラインで比較分析する時間軸の長さによって決めます
    3年分の同期比を見たいという要件があれば、3年と定義されます

マテリアライズドビューを作成するにあたり、必要な設計項目が決まったら、実際にマテリアライズドビューを作成する手順を次に見ていきます。

< 前へ | 4.8 パーティションオプション、マテリアライズドビュー | 次へ >

解説トレーナー

Oracle / 上流工程 担当 中村 才千代

データベース設計、システム構築の上流~下流工程全般のインストラクターです。SE時代の経験を生かし「業務を知るエンジニアこそDB設計に関わるべき」「DB設計に携わるエンジニアは業務を知る人に知恵を貸してもらう」ことを伝えたいと思っています。

■認定・受賞

2000年 Oracle University「Best Instructor of the Year」受賞
2002年 Oracle University「Best Instructor of the Year」受賞

Page Top