2011年4月30日土曜日

第1回:業務データベースと分析データベース

皆さん、こんにちは。
今回は第1回ということで、予定どおり、業務データベースと分析データベースについて説明したいと思います。

業務データベースと分析データベース
データベースをデータの利用という観点から考えると、「業務データベース」と「分析データベース」という2種類のデータベースに分けることができます。

業務データベースはその名の通り、業務で利用するデータベースです。英語で、Operational databaseと言います。人事データベース、会計データベース、販売管理データベースなどが業務データベースにあたります。簡単に言ってしまえば、そのデータベースがないと業務自体成り立たないデータベースのことです。業務データベースのデータは業務が完結してしまえば、データが不要になりますので、データの保持期間は短くなります。データは挿入(Insert), 更新(Update), 削除(Delete)が中心となります。また、業務に利用するデータベースなので、明細の情報に素早くアクセスできる必要があります。

一方、分析データベースとは、分析に利用するデータベースです。英語でAnalytical databaseと言います。データウェアハウスはこの分析データベースにあたります。当然、分析がメインですので、データの保持期間が多く、大量のデータを保持します。データの変化にも着目しますので、変更履歴を保持することとなります。分析が目的ですので、データは挿入(Insert)が中心となります。また、分析に必要となるレポーティングを提供するので、データベースのレスポンスは業務データベースと比べて、レスポンスタイムの許容時間は大きくなります。

業務データベースと分析データベースは分ける必要があるか?
業務データベースと分析データベースは分離するのが、一般的です。これは上で説明したようにデータベースの利用目的が異なるためです。仮に業務データベースと分析データベースを一緒にした場合、分析に利用するクエリやプログラムはサーバに大きく負荷がかかるため業務データベースに支障をきたします。最悪の場合、業務が遅れるということもありえます。また、分析データベースは様々なデータの関連性を見るため、様々n業務データベースを1つの場所にまとめる目的もあります。
これによりキャンペーンと売上の関連性Webの利用と売上の関連性などの分析が可能になります。たまに業務システムで分析機能も網羅しようとし、肥大化してしまったシステムを見ることがありますが、システムメインテナンスが膨大になり、分析も満足にできない状態です。そのため、業務データベースと分析データベースは必ずわけましょう。

分析データベースには業務データベースと違ったアーキテクチャ、テクニックが必要となる
上記で説明したように分析データベース、つまりデータウェアハウスは大量データを保持し、大量データを分析処理する必要があります。そのため、その要件を満たすために業務データベースとは違ったアーキテクチャ、データモデリングテクニックが必要となります。たとえば、業務データベースに正規化のリレーショナルモデリングのテクニックがあるように、分析データベースにはスタースキーマと呼ばれるテクニックがあります。各ベンダーが販売しているデータウェアハウス、BI関連ツールもデータウェアハウス用のテクニックを前提に開発されています。そのため、これらのテクニックをすることはこれのツールを最大限に利用するための良いバックグランドとなります。

次回以降では、データウェアハウスのアーキテクチャ、モデリングテクニックなどを紹介していきます。

2 件のコメント:

  1. いつもブログを参考にさせていただいております。私自身いま社内で分析全般を担当していますが、自分はもともと分析(統計分析など)の人間で、DWH/BIのテクニカルなことは独学で学んでいる状態です。おっしゃる通り、日本語では有用でまとまった情報を見たことがないので、これからの連載を非常に楽しみにしてます。頑張ってください!

    返信削除
  2. 励みになります。
    ありがとうございます。

    返信削除