Get Things Right

My English blog is here http://getthingsright.blogspot.com/

ビジネスインテリジェンスとは(BI)  --SAS、SAP、コグノス、ビジネスオブジェクト、JavaEEの経験を踏まえて

エンタープライズITとは売上げ、会計、取引データなど企業データをどのようにデータベースに格納し、どのようにしてビスネスに携わる人(監督官庁も含む)に提供するかということを考えることである。

最初のデータを格納する部分だが、ストレージ(データを格納する場所)を節約するため必要のない情報はなるべくそぎ落としてデータベースに格納するのがITの鉄則だ。取引データは顧客情報が必要。その際取引データに顧客の情報すべて(名前、住所、電話番号、年齢その他もろもろ)を付属させるのではなく顧客番号というユニークな番号だけを付属させ、同じ顧客と取引があった際には取引データに同じ顧客番号だけを付与する。こうすることによりデータベースに重複して格納される情報は顧客番号だけとなり、住所、電話番号等は重複することなくデータベースに格納することができる。この場合顧客番号は住所、電話番号等、顧客属性を検索・特定するために使われるため顧客属性取得のキー(key)と呼ばれる。

このように重複情報をキーという形で保存し、キーを頼りに属性情報を引き出せるようにデータベースに情報を格納することをデータベースの正規化という。正規化にはデータサイズが小さくなるというほかに、更新頻度が高いデータ(取引データ)ものと更新頻度が低いデータ(顧客属性)を分けて格納するため、データ処理のスピードが速くなる。いわば正規化とはストレージとコンピュータの処理速度、この2つの点において希少性が高いためのデータをよりコンピュータに適した形データを格納することである(大概ハードディスク)。

正規化されたデータベースはそのままではビジネスに使えない。顧客属性がただの番号として保存されているからだ。そのため顧客属性番号をキーに顧客属性情報を検索し顧客番号を名前、住所、電話番号等で置き換える処理が必要になる。

アプリケーションはデータがそのままでは意味をなさない形で保存されているため、人が見て意味のわかるようデータを加工、表示している。専門的な用語ではアプリケーションはデータのインタプリター、もしくはパーサーの役割を担っているといえる。

具体例を挙げよう。データベースに100という数値が格納されている。これが何を意味しているか伝えるため、アプリケーションは「値段(円、千円単位)」属性情報をとともに100という数値を提示する。ここでは100をデータと呼び、「値段(円、千円単位)」は意味を与えるセマンテック情報(どう解釈するかの情報)と呼ぶ。アプリケーションはデータにセマンテック情報を与える役割を担っている。

最近はストーレージ、CPU演算処理機能が向上してきたため、この2つの希少性が下がってきている。そのためデータを正規化せず、重複をいとわずビジネスの人が理解できる形で保存する。先の例では顧客番号を使用せず、電話番号、住所等すべての顧客属性を取引データに付属させ一緒にデータベースに格納することである。またもうひとつの例に関連し、単に100という数値の形で保存するのではなく<値段(円、千円単位)>100という形でセマンティク情報を含むタグでデータを挟む形式(XML形式)も普及してきている。このXML形式データをエクセルで開くと「値段(円、千円単位)」という情報は自動的にヘッダー部に記述される。XMLはデータ自体がセマンティク情報を含む形式であり、そのセマンティク情報の使い方は標準化されている。

ビジネスインテリジェンスとはコンピュータがデータを扱いやすくするため意味情報と切り離されていたものを、重複をいとわず意味情報も含めることによりデータそのままの形でビジネスに関わる人が意味を汲み取ることができるようにしていくことをいう。

ストーレージ、CPU演算処理能力の希少性が低下してきたことに伴い、データを人が読みやすい形で保存していこうとする新しいパラダイムであるともいえる。