2010年9月13日月曜日

データボルトモデリングの謎を解く!

前回の投稿でデータボルトモデリングについて触れましたが、
本日はちょっとその内容に触れたいと思います。

データボルトモデリングの特徴を一言で言えば、すべてのオペレーションシステムから
来たデータをそのまま保管するモデリングです。
そのままデータを保管するところがポイントです。
そのまま保管する理由はもし後で使用がかわった場合に元データがあるので
それをもとに再構築できるからです。
また、最近のオーディットの対応としてもデータが追えるという点で非常に優れています。

今までとりあえず、万が一のためにローデータをファイルで保管していた会社は多いと思いますが
いざとなったら使わないし、どういうデータ構造になっているかもわからないで有効に活用できて
いなかったので現状です。

そこで、データボルトモデリングです。
これを利用すれば、リレーショナルデータベースに保管できるので、いざというときに利用できます。
確かにすべてを保管するとデータ量が多くなりますが近年ハードは安くなっていますし、データの圧縮技術も
進化しています。
また、データ分散の技術も進化していますので、ある程度大きな会社であれば、これらの問題は解消できると
思います。

では、データボルトモデリングについて説明します。
データボルトモデリングは次の3つのコンポーネントから成り立っています。
それはずばり、
Hubs ハブ
Links リング
Satellites サテライト
の3つです。

それでは1つずつ簡単に説明していきます。

Hubsとはデータの大きな固まりを表したものです。
例えば、顧客とか店舗などになります。
次にLinksです。
リンクはHubsとHubsのリンクを管理するテーブルです。
データボルトモデリングは柔軟性を持たせるために普段はERで定義する
リレーションをリンクテーブルで定義しています。
これにより第3正規形ではテーブルの設計変更が発生する場合でもリンクのデータを
かえることにより柔軟に変更に対応できます。
最後にSatellites.これは通常にデータの属性を保持するテーブルです。
もちろん、ハブとリンクさせるのですが、1つのHubやlinkはサテライトを複数持つことが
できます。

例えば、既存システムで顧客情報をマーケティングシステムおよびセールスシステムのそれぞれで
持っていれば、データボルトモデリングでは名寄せやクレンジングはせずにサテライトをそれぞれ
1つずつ作って、顧客ハブの下にそれぞれもたつことができます。
これですべてのデータをそのまま保持できるのです。

まだ、詳しくは調べていませんが、この設計によりETLの処理もある程度パラレルで処理ができるので
高速で処理ができるようです。

ビックデータを保持する時代この技術は非常に有効だと思います。

0 件のコメント:

コメントを投稿