2010年12月28日火曜日

データマートって何???

データウェアハウスで出ている用語にデータマートっていう用語があります。
じゃあ、データマートの定義ってなんでしょうか。

先日、あるデータウェアハウスのプロジェクトに参加していたところ、
データマートって言うことが出てきました。でも、どうやら発言者はデータマートが
どんなものかよくわかっていなくて使用していました。

ということで今日はデータマートについて説明しましょう。

データマートを説明する前にデータウェアハウスのアーキテクチャについて説明したいと思います。
データウェアハウスでは多く分けて2つの構築方法があります。1つはビル・インモンが提唱している構築法で
エンタープライズアーキテクチャと呼ばれています。これはセントラルと呼ばれるデータベースに
第3正規化されたデータのヒストリデータをすべて保存し、各部署ごとに分析したいデータをスタースキーマで
別途構築し、そのスタースキーマにアクセスさせ、セントラルデータベースにはアクセスあせません。
この部署ごとに作ったデータがデータマートと呼ばれるものです。
もう1つのアーキテクチャはラルフ・キンボールが提唱している方法でバスアーキテクチャと呼ばれます。
これはセントラルデータベースがなく、ビジネスプロセスに応じたスタースキーマをつなげて一つのデータウェアハウス
にする方法です。この場合、各ビジネスプロセスに応じたスタースキーマがデータマートなります。

ちなみにプロジェクトで発言した人ですが、スタースキーマもよくわかっていませんでした。
やはり、データウェアハウスに関する教育が不足していることを実感しました。

MOLAPとROLAPって何?

今日はMOLAPとROLAPについて解説したいと思います。
MOLAPとOLAPを説明する前にそもそもOLAPって何でしょうか。
Online Analytical Processingの略ですって言われてもよくわかりません。
OLAPとはキューブとも呼ばれます。じゃ、キューブって何でしょうか。

キューブとはスタースキーマを多次元データベースで実装した場合の名前になります。
リレーショナルデータベースで実装したものはスタースキーマと呼ばれ、多次元データベースで
スタースキーマを実装さればキューブと呼ばれます。

スタースキーマとはデータベース上で分析しやすいようにした設計されたデータモデリングのことで、
真ん中に分析するファクトをおいて、その周りに分析する切り口であるディメンションを配置したモデリングと
なります。
例えば、売り上げ分析であれば、売り上げをファクトとしてその周りに製品や顧客などのディメンションを
配置して製品別や顧客別などに売り上げを分析できます。
モデリングのかたちがスターに似ていることからスタースキーマと呼ばれています。

さてMOLAPとROLAPの違いですが、MOLAPは多次元データベースにデータをあらかじめて保存しておく方法です。
BIなどのアプリケーションでデータにアクセスする際は多次元データベースにアクセスします。
多次元データベースではデータが最適化されていますので非常に高速アクセスできます。
一方、ROLAPとはキューブの定義だけをしておいて、アプリケーションがデータにアクセスするたびにオラクルなどの
リレーショナルデータベースにアクセスのたびにデータを取得しに行きます。
当然、リレーショナルデータベースは複雑なクエリになるとパフォーマンスが落ちるのでレスポンスが悪くなります。。。
では、ROLAPのメリットってなんでしょうか。
それはMOLAPはリレーショナルデータベースが変更されるたびに多次元データベースにその都度データを読み直さないと
行けません。その点、ROLAPは都度データをリレーショナルデータベースに読みにいくので再読みの必要はありません。
リレーショナルデータベースがテラデータやネティーザなどであれば高速なのでROLAPなどが利用されます。

OLAP製品によってMOLAPやROLAPであったりするのでアーキテクチャに合わせて製品を選びましょう。
ちなみにMicrosoftのSQL Sever Analysis Servicesでは設定でMOLAPやROLAPのどちらかが設定できます。

また、定型レポートなどは夜間バッチで作成できるため、RLAP、
仮説思考によるピボット分析ではMOLAPなどが利用されたりします。

ある本にはMicrosoftのSQL Sever Reporting ServicesがROLAP, Analysis ServicesがMOLAPと書いてありました。

2010年12月19日日曜日

「Pentaho Solutions: Business Intelligence and Data Warehousing with Pentaho and MySQL」を読み終わる!

今まで部分的には読んでいましたが、やっと「Pentaho Solutions: Business Intelligence and Data Warehousing with Pentaho and MySQL」を最初から最後まで通して読みました。
この本はオープンソースのペンタホをもとにデータウェアハウスからBIまでの一通りの基本を説明しています。
これを通読するだけで基本的なことがすべてわかってしまうという優れものです。
ちなみにMDXの基本もこれでわかってしまいます。
残念ながらまだ、日本語訳は出版されていません。私で良ければ翻訳しますけど。。。
声かからないかな。。。

とにかく英語もわかりやすいので、おすすめです。


2010年12月11日土曜日

ご無沙汰です

自分ご無沙汰しておりました。
仕事や勉強などに忙しくブログの更新が滞っていました。

ごめんなさい。

これからがんばって頻繁に更新しようと思います。

さて、最近の近況を報告したいと思います。

仕事ではグループを移動し、本格的にBIやデータウェアハウスの仕事に従事しています。
ということで日々勉強中です。

また、仕事も本格的にBIということでデータウェアハウスの勉強も開始しています。
基本ややっぱりほんですよね。ということで読みかけになっている本や読んだけど忘れてしまっている本を
読み直しています。

現在はPentaho solutionを読んでいます。
これはかなりの名著です。。。
今年中には読みおわりたいですね。

2010年9月20日月曜日

システムエンジニア、ITマネージャの超勉強法

一昔前、IT業界はドックイヤーと言われて、通常の7倍のスピードで環境が変わっていくと
言われていましたが、やっぱりいまでもITは日々かなりのスピードで進化しています。
最近ではクラウドをキーワードとして様々なデータベースやストレージの技術、はたまた
携帯技術を知ることはますます増えています。

そのため、IT関連を仕事をする人はかなり勉強して追いつく必要があります。
ただ、そうは言っても忙しいシステムエンジニア、システムアナリスト、ITマネージャに
とってはなかなか勉強する時間が取れませんし、家族サービスや自分の趣味なども楽しみたいところです。

そこで、不完全ながら、システムエンジニアの超勉強法と称して勉強法について記載したいと思います。

1.大きな書店のコンピュータコーナーに毎週行く
これは私が日々実践していることですが、なるべく大きな書店のコンピュータコーナーに
毎週行きましょう。
そしてまずは平積みされている本なども中心にどんな本が出版されているか確認しましょう。
これをすることによって現在どんなテクノロジーがはやっているかどうかわかります。
また、ここで確認できるのはある程度定評のあるテクノロジと考えていいと思います。
というのは本が出るくらいですが、そのテクノロジについてはある程度需要があるので
知っておくテクノロジと考えてまず間違いありません。
私はこれで特にオープンソースで人気になりつつあるアプリケーションの情報を得ることがあります。
ここで気になったものがあったら、まずはまえがきや最初の章を読んでみることをお勧めします。
そこである程度どのような技術についてすることができます。
興味があったら、本をかって読んでみたり、またネットで追加で調べましょう。

2.最新技術は雑誌で確認
もちろん、最新の技術はWebで日々収集することが基本ですが、そうはいってもなかなか
なれるまでは有益な情報を得ることはできません。
そこでやっぱり最新の動向は雑誌ということになります。
本よりタイムリーな情報が得られますし、簡単に情報がまとめられていますのでお得です。

3.本格な本で勉強
やっぱり最後は本格的な本で勉強する必要があります。
コンピュータ本は高いですがここは投資と思って買って勉強しましょう。
迷ったら、おすすめはオライリー本です。
ただ、オライリー本はレベルが高いし、厚い本が多いのでまずは簡単に書かれている本を
お勧めします。

4.各章のタイトルだけでもスキャニング
もし、忙しくてなかなか時間がとれない人は本の各章のタイトルやサブタイトルだけでも
流しよみすることをお勧めします。
これでなんとなくそのテクノロジについてわかります。
このなんとなく知っているが非常に大事でなんとなく知っていることにより普段入ってこない
情報が目につくようになりますので効果大です。

最後なんといっても継続です。
私もそうですが、なかなか時間は取れませんがとにかく継続して勉強することが
必要です。
日本の技術者は海外と比べるとあまり勉強していないそうです。
特に中堅の技術者は過去の技術しかしらないのにえらそうな態度を取っている人が
おおいですね。
これは自分への胸が痛い言葉ですが。。。。

2010年9月19日日曜日

ソフトウェア企業の競争戦略について考える

昔読んだ本ですが、マイケル・クスマノ氏の「ソフトウェア企業の競争戦略」を読み返しました。
2004年の本なので、内容は結構古いですが、そこに書いてある戦略はいまでも有効だと思います。
ただ、IT業界の状況はものすごいいきよいで変化していますので、こちらを前提にいまの状況に
アップデートする必要がありそうです。

アマゾンで調べたクスマノ氏の最新刊で英語であるそうなのでさっそく読んでみたいと思います。

データマネジメントはあまり関係ないようですが、ソフトウェア企業の製品を利用する以上、
このような戦略の知識もひつようですよね。





書評:Excel 2010&SQL Server 2008 R2による企業データ分析入門

「Excel 2010&SQL Server 2008 R2による企業データ分析入門」を読みました。
SQL Server 2008 R2とPower Pivotの利用方法などがわかるかなと思って読みましたが、
初心者向けに書かれており、基本は企業のデータ分析について中心であり、技術についての
記載はあまりありません。どちらかというと使い方が書いてあるだけなのであまり
利用価値はありませんでした。

個人的にはあまりおすすめしません。


データの戦略性について考える

ハーバードビジネスブレスから出版されている「戦略的データマネジメント 企業利益は真のデータ価値にあり」を
読みました。
本書はデータ品質という観点からデータをいかに会社の資産として使用していくかによって記載されています。

本書を読んで改めてデータの戦略性およびデータの品質の重要性について感じました。
本書を読んで考えたのが、会社のデータ品質および需要性に関する意識です。
データがほしいという声は聞かれるのですが、データ品質について本気で取り組んでいる企業は
やっぱり少ないと思います。
また、データ分析の会社の成熟性という点でも非常に低い会社が多いと思います。

データを戦力的に考えるには会社のデータ分析の成熟性なども合わせて考える必要があると感じました。


2010年9月13日月曜日

インモン、キンボール、データボルトどれにするか、それが問題だ。いや、いや問題ではありません

データウェアハウスの設計において、現在3つのモデルが存在します。
その3つとは下記になります。

1.インモンモデル
データウェアハウスの父といわれるビル・インモンに提唱されている方法論です。
これはいわゆるエンタープライズデータウェアハウスの考え方で、
会社で1つの大きな第3正規形のデータベースを構築し、部門別や必要に応じて
そこからデータマート(スタースキーマ)を構築して分析を行う方法です。
エンドユーザはデータマートにアクセスするのみです。

2.キンボールモデル
スタースキーマを一躍有名にしたラルフ・キンボールの方法論です。
インモンモデルと違うところはキンボールはデータウェアハウスをスタースキーマの
寄せ集めと考える点です。
元データはあくまでデータステージに格納されているという認識です。
エンタープライズデータウェアハウスはデータステージにDBやファイルで保管されている
イメージです。

3.データボルトモデリング
これはダン・リンスデットによって提唱された方法論で、インモンモデルの拡張版と
考えて良さそうです。データボルトモデルはエンタープライズデータウェアハウスを
第3正規形ではなく、データボルトと呼ばれる設計方法で各オペレーションのデータをすべて
そのまま格納する方法です。
データがそのまま保管できるので、データの再加工やトレースに非常に優れています。

では、いったい上の3つの内どれが一番いいのでしょうか。
それは会社の規模やデータウェアハウスに対する成熟性などによることになります。
例えば、とにかくお金がなくてデータマートが欲しいとなったら、2のキンボールモデルで
ボトムアップ式にシステムを増やしていくのがいいでしょう。
また、データすべてをためる予算はないが会社のデータを分析管理した場合は1になると思います。

でも、私は再集計は上の3つのすべてを組み合わせて構築するのが理想だと考えています。

まず、全体のアーキテクチャはインモンモデルを採用して、エンタープライズデータウェアハウスを
構築して、分析は2のキンボールモデルを構築して分析します。
エンタープライズデータウェアハウスは会社のデータをそのまま保管するためにデータボルトモデルを
利用します。
こうすれば、もしキンボールモデルの設計をやりなおしたい場合は過去のデータがそのまま残っていますので
ETLを修正して再構築すれば、過去のデータから再度分析できます。

うーん、いつかこのシステムを構築したいです。

インモン、キンボール、データボルトを網羅したぞうさんのサイト

データボルトモデリングに調べていたら、下記サイトにぶつかりました。
あまり情報量はありませんが、インモン、キンボール、データボルトのすべてに
ついて網羅しています。
非常に優れたサイトなので紹介しておきます。
英語のサイトです。
Sustainable business intelligence

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

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

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

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

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

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

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

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

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

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

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

2010年9月11日土曜日

データウェアハウスの新モデリング データボルトモデリング(Data vault modeling)

以前、データウェアハウスの設計はインモンモデルとラルフキンボールモデルの2つに分かれると
説明しましたが、どうやらデータウェアハウス業界は日々変化しているようです。

データボルトモデリング(Data vault modeling)なる第3派が存在するようです。
データボルトモデリング(Data vault modeling)とは、インモンモデル、キンボールモデル(スタースキーマ)の
それぞれのデメリットを克服したモデルだそうです。
ということでだいぶまえから提唱されているモデルのようですが、私はさっぱり知りませんでした。。。
やっぱりデータウェアハウス業界も日々進化しているんですね。

ということで、自称スーパーデータエンジニアを目指す私としてはマスターしない分けにはいきません。
こうなったら、日本で一番データボルトモデリングにくわしいというくらいまで勉強したいと思います。
下記にまずは情報があるようなのでこちらで勉強したいと思います。
Data valut modeling article

また、QUIPUというデータボルトモデリングをベースにしたオープンソース製品もあるようです。
こちらもぜひチェックする必要がありそうです。
QUIPU

また、データボルトモデリングはビル・インモンのDW2.0にも組み込まれているようです。
こっちもまだ勉強が進んでいません。

学ぶことはたくさんありますね。

データボルトモデリングについてはこのブログでも紹介していきたいと思います。

2010年9月7日火曜日

アーキテクチャについて勉強する

システムを設計するにはやっぱり全体最適を考えて設計、実装する必要があります。
そこで必要になるのがアーキテクチャという技術です。
データを考える上でも全体のあるべき姿を考えたり、概念モデルを考える必要があります。

ということでアーキテクチャについて勉強しようと思います。
下記書籍を読みました。



非常に情報がよくまとめれており、良書だと思います。

2010年9月6日月曜日

データウェアハウス/BIの読書案内

IT技術者向けの読書案内サイトを作成しました。
下記にデータウェアハウス/BIの読書案内を掲載しています。
データウェアハウス/BI 読書案内

参考にしてください。

2010年9月5日日曜日

スタースキーマ教育普及させたい。。。

最近感じたことですが、データウェアハウスやBIの業務に作成している人で
スタースキーマやデータウェアハウスのアーキテクチャについて一通り知っている人は
少ないようです。。。
どちらかというとデータベースの知識があって、各ETLやBIツールの操作については知っている人が
多いようです。。。しかも、そういう方がデータウェアハウスをデザインすると、
通常に業務DBの延長でデータウェアハウスを設計してしまうため、ユーザの要求については
やってもいいけどお金がかかるやパーフォーマンスが劣化するからできないなどと
理由をつけて使えないシステムを作成してしまうように思います。。。
スタースキーマやSCDなどを深く理解していれば、わりと簡単にできるのにって思ってしまいます。。。

ただ、あまり技術者を避難できないのも事実です。
というのもスタースキーマなどの技術がしっかり勉強できるセミナーや書籍が日本語では少なすぎます。。
ということでこのサイトが少しでも皆様のお役に立つようにがんばりたいと思います。

また、いつかはキンボールなどの名著の翻訳にも挑戦したいと思います。。。。
採算が合いそうにないので翻訳する出版社はなかなかいないかもしれませんが。。。

データウェアハウス:ドリルアクロス(Drill-Across)という技術

データウェアハウスのスタースキーマを設計する際、重要なのはビジネスプロセスごとに
スタースキーマのセットを作成することです。
これは例えば、受注と配送のデータはデータの発生のタイミングが違ったり、配送には
配送者や配送場所などのDimensionが加わったりすのでビジネスプロセスは別考え、別の
スタースキーマにするということです。

ただ、そこで問題になるのが、じゃ、受注と配送を月別で比べたりする場合はどうすれば
いいのでしょうか。
そこで必要になる技術がドリルアクロス(Drill-Across)という技術。
これはドリルダウンやドリルアップとは一切関係ありません。。。

ドリルアクロス(Drill-Across)を簡単に説明すれば、比べたいスタースキーマから
粒度を合わせたサマリーのデータをそれぞれ抽出してからそのデータをマージして
レポートを作るという方法です。比率などもマージの際に計算して出します。

現在、読んでいる「The complete reference: Star schema」には、ドリルアクロスの方法として
下記の3つの方法が紹介されています。
1データベースからそれぞれサマリー情報を出して、レポートシステム側でマージする。

2それぞれのサマリー情報をテンポラリーテーブルに出力してからマージする。

3出力とマージをSQL一本で行う。。。

詳細は「The complete reference: Star schema」の第4章に紹介されています。。。


2010年8月16日月曜日

道を究める必読の書???

本ブログのタイトルはスーパーデータエンジニアへの道です。
今後の会社ドラッカーのいう知的労働者がますます活躍する時代の中、
スペシャリストの道を究める必要があります。
ということでこのブログにも道をきわめていくという意味で道という言葉が
入っています。

そんな道を極めるうえで参考になるのが宮本武蔵が書いた五輪書です。
宮本武蔵は自分の剣の道を究めた達人です。
まさにその奥義が五輪書には記載されています。
この本を何度も読み返してデータエンジニアの道を究めたいと思います。


The Complete Reference Star Schemaを読み始めした!

Christopher Adamsonの「The Complete Reference Star Schema」を購入しました。
ということで早速読み始めました。
ディメンショナルモデルについてわかりやすく書かれています。
まだ、第1章を読んだだけですが、非常にわかりやすいです。
おそらく、名著になる本だと思います。
BIを開発する人の必読書だと思います。

毎日1章くらいのペースで読んでいきたいと思います。


2010年8月1日日曜日

O'reilly school of Technology DBA3

しばらくご無沙汰でしたが、仕事でData warehouseの知識が必要になるため
O'reilly school of TechonologyのDBA3を
さらっとテキストだけ読み返しました。

正直言ってこのDBA3はお勧めです。
DBA3はData warehouseの構築に必要なDimensional modelとETLの知識を
カバーしているのですが、実務で必要となる基本事項はすべてカバーしています。
分厚いキンボール本を読まなくてもこの講座だけある程度のスキルが身についてしまうというすぐれものです。

実際に演習はやらずにさらっとテキストを読んだだけでしたが、今までもやもやしていた部分がすっきりわかりました。
こんなに簡潔にまとめられたテキストや講座は他にはないのでしょうか。
英語のみですが、Data warehouseを勉強した人にはお勧めです。

また、DBA4も依然さらっとテキストのみ読んだのですが、DBA4はMDXについての説明でこれも
非常にわかりやすくてためになりました。

すでにDBAコースはすべて購入済みで、終了せずに1年が過ぎてしまいました。
期限はないのですが、夏休みの宿題として最低でも1講座は終わらせようと思います。
また、今年中に4つすべて終わるように頑張りたいと思います。

SQL Serverのヒントがいっぱいの有益サイト

Microsoft SQL Serverについて有益な情報が掲載されているサイトを
発見しました。
その名もSQL CATです。SQL猫???

メインは英語ですが、一部日本語に翻訳されています。
http://sqlcat.com/Default.aspx

日本語
http://sqlcat.com/whitepapers_japanese/

SQL Server BIBLE

SQL Serverを勉強するにあたって参考になるサイトです。
無料で資料をダウンロードすることができます。
http://www.microsoft.com/japan/sqlserver/2008/bible/cqi.mspx

IPAのセキュア・プログラミング講座を読む

情報処理推進機構のページにセキュア・プログラミング講座というページがあります。
http://www.ipa.go.jp/security/awareness/vendor/programmingv2/index.html

情報セキュリティスペシャリスト試験を受験する人は一読必須ということなので
早速さーっと目を通しました。
Webアプリケーション編とC/C++言語編があるのですが、非常にわかりやすく参考になりました。
セキュリティって奥が深いですね。。。

SQL Server 2008を勉強するサイト

下記のマイクロソフトのサイトにSQL Server 2008の自習書が掲載されています。
これでSQL Server 2008を勉強してみたいと思います

http://www.microsoft.com/japan/sqlserver/2008/self-learning/default.mspx

携帯端末のOS

現在、スマートフォンがやっと流行りつつあるが、
今後の携帯端末のOSについて考えてみたいと思います。

おそらく、現在主力は下記OSですよね。

iOS (Apple)
Android (Google)
Symbian (Nokia)
http://ja.wikipedia.org/wiki/Symbian_OS
MeeGo (Nokia / Intel)
Windows mobile (Microsoft)
LiMO

現在はiOSがかっていてそれをAndroidが追いかけて
いる感じですが、今後はどうなるでしょうか。

ちょっとWatchしていきたいと思います。

情報処理技術者試験:情報セキュリティスペシャリストを受験します

10月の情報処理技術者試験を申し込みました。
4月に応用情報処理技術者試験に合格しているので、次は情報セキュリティスペシャリストに
チャレンジします。

今からこつこつと勉強していきたいと思います。

2010年7月26日月曜日

また、キンボール本を読み始めました

もうすぐグループを移動してBIを担当することになりました。
ということでさぼっていた勉強を再開。。。
といっても結局また最初から読み始めることにしました。

現在読み始めたのは下記の本です。







こういう本って一気に読まないと駄目なんですよね。。。
といっても分厚し英語です。

仕事のため、がんばるしかないですね。

データウェアハウス関連の本は翻訳や良書がすくないですからね。。

2010年7月14日水曜日

MCAのデータベースの教科書を読み終わりました

現在、マイクロソフトのMCAを勉強しています。
勉強方法はひたすら通勤電車で参考書を読んでいます。

MCAデータベースの教科書が読み終わりました。

次はプラットフォームです。


2010年7月12日月曜日

MCAの勉強を始めました!

現在、勉強しようと思っているのが、MCAです。
MCAは遠い昔約7年ほど前にまだセキュリティがないときに3科目とも
合格しましたが最近ずいぶんテクニカルスキルが落ちてきたのと
仕事でMicrosoftを利用しているのでブラッシュアップも含めて勉強することに
しました。

ということで早速対策本を購入しました。
購入したのは下記です。
Database
Platform
Application
Security










まずはデータベースから早速勉強を始めました。
勉強方法はひたすら通勤電車での読書です。

4科目合格したら上位の試験にもチャレンジしたいと思います。

2010年7月9日金曜日

ニコラス・G・カーの最新作「The Shallows: What the Internet Is Doing to Our Brains」の日本語版がでるみたい

ニコラス・G・カーは「IT doesn't matter」などで有名な人ですが、
その人の最新作「The Shallows: What the Internet Is Doing to Our Brains」の日本語版
「ネット・バカ インターネットがわたしたちの脳にしていること」がもうすぐ青土社から出るみたいです。
http://www.seidosha.co.jp/index.php?%A5%CD%A5%C3%A5%C8%A1%A6%A5%D0%A5%AB

発売されたら早速買って読んでみたいと思います。

なんか「The Shallows: How the Internet is Changing the Way We Think, Read and Remember」って
いう本ももうすぐ出るようですが、これは続編なんですかね?


http://www.theshallowsbook.com/nicholascarr/The_Shallows.html


BABOKの知識エリア

まず、BABOKの全体像の把握のため、BABOKの知識エリアを紹介します。
BABOKはすでに日本語がされており、知識体系の日本語訳については
下記サイトに掲載されていますが、いまいちわかりずらいです。
http://www.iiba-japan.org/about.php#info

ということで日本語訳は分かりずらいところはかってに直しました。
私は日本語訳本はもっておらず、英語版のみ持っていますので
本サイトでは私の日本語訳で掲載していきたいと思います。

正直公式の日本語訳はひどいです。
何でも取りえずカタカナにしていますし、訳語からは作業をイメージできません。
また、Elicitationを引き出しを訳したのはまずいんじゃないでしょうか。
私はタンスの引き出しをいつもイメージしてしまいます。
今後改定されることを期待します。

以下、知識体系です。

ビジネス分析の計画とモニタリング(Business Analysis Planning & Monitoring)
-ビジネス分析アプローチの計画(Plan Business Analysis Approach)
-ステークホルダー分析の実施(Conduct Stakeholder Analysis)
-ビジネス分析アクティビティの計画(Plan Business Analysis Activities)
-ビジネス分析コミュニケーションの計画(Plan Business Analysis Communication)
-要求管理プロセスの計画(Plan Requirements Management Process)
-ビジネス分析パフォーマンスの管理(Manage Business Analysis Performance)

要求収集(Elicitation)
-要求収集の準備(Prepare for Elicitation)
-要求収集アクティブティの準備(Conduct Elicitation Activity)
-要求収集結果の文書化(Document Elicitation Results)
-要求収集結果の確認(Confirm Elicitation Results)

要求の管理とコミュニケーション(Requirements Management & Communication)
-ソリューションスコープと要求の管理(Manage Solution Scope & Requirements)
-要求の出所管理(Manage Requirements Traceability)
-再利用のための要求メインテナンス(Maintain Requirements for Re-use)
-要求パッケージの準備(Prepare Requirements Package)
-要求コミュニケーション(Communicate Requirements)

企業分析(Enterprise Analysis)
-ビジネスニーズの定義(Define Business Need)
-能力ギャップの評価(Assess Capability Gaps)
-ソリューションアプローチの決定(Determine Solution Approach)
-ソリューションスコープの定義(Define Solution Scope)
-ビジネスケースの定義(Define Business Case)

要求分析(Requirements Analysis)
-要求の優先順位化(Prioritize Requirements)
-要求の体系化(Organize Requirements)
-要求の仕様化とモデル化(Specify and Model Requirements)
-前提条件と制約条件の定義(Define Assumptions and Constraints)
-要求の検証(Verify Requirements)
-要求の妥当性確認(Validate Requirements)

ソリューションの評価と妥当性確認(Solution Assessment & Validation)
-提案ソリューションの評価(Assess Proposed Solution)
-要求の割当(Allocate Requirements)
-組織の準備状況の評価(Assess Organizational Readiness)
-移行要求の定義(Define Transition Requirements)
-ソリューションの妥当性確認(Validate Solution)
-ソリューションのパフォーマンス評価(Evaluate Solution Performance)

基礎コンピテンシ(Underlying Competencies)
分析的思考と問題解決(Analytical Thinking and Problem Solving)
行動特性(Behavioral Characteristics)
ビジネスの知識(Business Knowledge)
コミュニケーション(情報伝達)のスキル(Communication Skills)
人間関係のスキル(Interaction Skills)
ソフトウェアアプリケーションの活用(Software Applications)

BABOKを学ぼう!

BABOK(ビーエーボックと読みます)はBusiness Analysis Body Of Knowledgeのことで
ビジネス分析のベストプラクティスをまとめた知識体系です。
カナダを発祥とする国際非営利団体International Institute of Business Analysis (IIBA)に
よる発行されています。
これはビジネス分析のプロフェッショナル達が集まってまとめた本ですので、まさにビジネス分析をする上で参考にすべき
バイブルとなる本だと思います。

知識体系といえば、プロジェクトマネジメントのPMBOKが有名ですが、BABOKも徐々に知名度を上げているようです。
日本の大手SIerではBABOKを利用してビジネス分析の底上げを行っているようです。

このサイトでは私自身がBABOKを勉強しつつ、その解説を掲載していきたいと思います。
BABOkの解説本がない中、本サイトがBABOKを学ぶ上での参考になればと思います。

今週の日経コンピュータにBABOKの記事がありました

最新の日経コンピュータの記事にBABOKの記事がありました。
いろいろな企業ですでにBABOKは利用されているんですね。
私も勉強しないと。。。

ところで、BABOKの読み方ですが、正式はビーエーボックなんですね。
社内ではバボックって読んでますね。。。

また、日経コンピュータではPaaSに関する特集がありました。
非常に面白くて私も注目しているトレンドです。

2010年7月8日木曜日

BABOKの勉強を始める!!!

どうやら、ちまたではすでにBABOKは認知度をあげつつあるようです。
ということで、しばらく英語版を買ってそのままほったらかし状況でしたが
やっぱり仕事がらビジネス分析は必須すきるですのでここらでまじめに
BABOKを勉強してスキルの向上をはかりたいと思います。

ということで、BABOKの勉強記録もじょじょに掲載していきます。

2010年7月1日木曜日

Rubyを勉強する

最近プログラミングを書いていません。
基本的にはシステムアナリストなのでプログラムは書かないのですが、
技術力がどんどん落ちていきます。
このままではやばいと思い、Rubyを勉強することにしました。

まずは下記で勉強。
Try Ruby!
http://tryruby.org/
→Webブラウザを利用してRubyを動かすことができます。

Ruby in 20 mins
http://www.ruby-lang.org/en/documentation/quickstart/
→20分以下で学習できます。Rubyの概要がさらっとわかります。

まつもと直伝 プログラミングのオキテ
http://itpro.nikkeibp.co.jp/article/COLUMN/20060825/246409/?ST=oss

Learn to Program
http://pine.fm/LearnToProgram/
日本語訳
http://www.ie.u-ryukyu.ac.jp/~kono/software/s04/tutorial/Chapter=Contents.html

Dr.Dobb'sによる今週の読書リスト

Dr.Dobb'sの今週の読書リスト
http://www.drdobbs.com/tools/225700348

Interconnecting Smart Objects with IP以外は興味が
あるので読んでみたいと思います。
特に、SQL Antipatterns: Avoiding the Pitfalls of Database Programmingは
興味がありますね。

ENZEE UNIVERSE 2010 REPORT

下記にENZEE UNIVERSE 2010の様子が掲載されています。
Gartnerのドナルド・フェインベルク氏のAdvanced Analyticsは非常に興味を
そそられました。
ちょっと深堀していきたいと思います。
http://www.itmedia.co.jp/enterprise/articles/1006/23/news019.html

ITに関する有益な情報サイト Dr.Dobb's

ITに関する有益なサイトにDr.Dobb'sがあります。
今まで、英語だったのでチェックしていなかったのですが、これからは適宜チェックして行きたいと
思います。
http://www.drdobbs.com/index.jhtml

列指向データベース Vertica

列指向データベースで注目している製品です。
http://www.vertica.com/
個人的には今後大躍進する可能性大です。

Open source BIツール

オープンソースのBIツールの紹介です。
Jaspersoft
http://www.jaspersoft.com/

オープンソースのBIツールとしてはかなり有名だと思います。

恒例のDataqbase Watch 201006版

@ITにDatabase Watchの6月版が掲載されました。
個人的な注目はMySQL 5.5の動向とVoltDB。
VoltDBはちょっと深堀して調べてみたいと思います。

http://www.atmarkit.co.jp/fdb/rensai/dbwatch2010/dbwatch201006_01.html

VoltDB
http://voltdb.com/

Ruby on RailsのPaaS環境Heroku

Webサイトが簡単にできるという評判のRuby on Rails。
そのPaaS環境であるHeroku(オーロークと読む?)があるようです。
まだ、詳細は調べていますが、このようなクラウド環境はますますひろがっていますね。

http://heroku.com/

2010年6月25日金曜日

応用情報処理試験に合格しました!!!

本日の正午より情報処理試験のサイトで合否の確認および成績照会ができます。
ということで早速みて見ました。
http://www.jitec.jp/1_05goukaku/seiseki_s.html
どうやら、皆さんアクセスをしているらしく、非常につながりにくかったですが、
なんとかページに到達。IDとパスワードを入力して確認すると、合格していました。
一応、試験後の自己採点で余裕で合格ラインをこえていたので問題ないと思っていましたが、
ちゃんと確認して一安心です。

結果は下記のとおり。
午前得点:77.50点
午後得点:84.00点

ストラテジ系 21.25点( 85.0%)/ 25.00点
マネジメント系 11.25点( 81.8%)/ 13.75点
テクノロジ系 45.00点( 73.4%) / 61.25点

やっぱり、仕事柄企画やマネジメントの仕事の比重が大きいので、
そっちの得点が高いですね。。。
テクノロジー系はなんとかって感じですね。

次は秋の試験で、セキュリティ試験の合格を目指します。

がんばりたいと思います。

2010年6月22日火曜日

Macのマルウェア対策

どうやら、アップルMacでマルウェア対策が密にアップデートされたらしい。
アップル、Mac OS X 10.6.4でマルウェア対策をひそかにアップデート
http://japan.cnet.com/news/service/story/0,3800104747,20415453,00.htm

そういえば、Macのアップデートしましたね。
(私はMacを使っています。)

Macは昔からウィルスには強いといわれています。
Macを買ったときに一応心配なのでウィルス対策ソフトウェアを買いに行ったら
店員にMacのウィルスはほとんどないといわれました。
でも心配なので、商用のウィルスソフトウェアを導入しています。

Macは意外とウィルスに強いといわれる理由はWindowsに比べて普及率がまだまだ低いので
ターゲットになりにくいというのが最大の理由です。
現在、iPhoneやiPadの影響でMacの普及率も増えてきていると思います。
ということはMacユーザもそろそろ対策について真剣に考えないといけないと思います。
ちょっと古いですが、下記カスペルスキー氏のインタビューにMacのセキュリティについての言及があるので
参考にしてください。
http://www.atmarkit.co.jp/news/200805/16/kaspersky.html

2010年6月18日金曜日

有益なITに関する日本語でよめる読書案内

ITの技術力を高める基本を本を読んで自分で勉強することだと思います。
もちろん、大学院やセミナーなどに参加することもいいですが、お金と時間が非常に
かかります。
やっぱり、手っ取り早いのは独学でどんどん勉強して実務で使いながら、応用していくことだと思います。
でも、ここで困ったことがおきます。。。
はたしてどんな本を読めばいいのでしょうか。
本屋に行ってもメインは新刊や流行りの本が中心ですので、読むべき本がいつまでも置いてあるケースは
少ないです。また、コンピュータの名著100冊などの書籍案内本を非常に重宝していますが、
これも更新がされていなかったりとある程度利用が限られてしまいます。
ということで頼りになるので、Webでの書籍案内です。
でもなかなかこれぞという読むべき本を紹介しているページはありません。
今回詳細するのは、私がこれぞと思うお勧めの書籍案内ページです。
書籍を見るだけ押さえるところは押さえているという感じがします。
しかも、日本で読める本のみ紹介しています。
また、各ページに短い書評もあります。
ぜひ利用しましょう。
ここに紹介されている本はすべて読みたいと思います。
http://www.tamakiseoffice.jp/my_bookshelf/book_index.htm

DMBOK Introductionを読む

DMBOKのIntroductionの章を読みました。
この章ではDMBOKの目的や全体像が記載されています。
ちなみにDMBOKは下記10の知識体系に分かれています。
1.Data Governamce
2.Data Architecture Management
3.Data Development
4.Data Operations Management
5.Data Security Management
6.Data Quality Managment
7.Reference and Master Data Management
8.Data Warehousing and Business Intelligence Management
9.Document and Content Management
10.Meta-data Management
1のData Governamceがそれ以外の知識体系の中心となるようです。
こういうフレームワークがあると知識が整理できて、全体像がわかるので非常にいいですよね。

Data warehouseドキュメントテンプレート

Data warehouse / BIを設計するときに困るのがどんなドキュメントを作成するべきかということです。
テンプレートがあれば、とっかかりに非常に便利です。
まずはテンプレートを使ってみて、適宜プロジェクト用に修正していけばいいわけですから。。。

私が参考にしているテンプレートはKimballのサイトにあるものです。
下記からダウンロードできます。
http://www.kimballgroup.com/html/booksDWLT2tools.html

これは「The Data Warehouse Lifecycle Toolkit, 2nd Edition」に
対応しているものなので、この本をわせて読むとより効果があるかと思います。

2010年6月17日木曜日

Distributed systemを学ぶ

下記Google Code UniversityにDistributed systemを勉強できるサイトが
あります。
ここでひとまず勉強したいと思います。
http://code.google.com/intl/en/edu/parallel/index.html

Jolt awards 2010-2011

すぐれたアプリケーションやIT書籍を表彰するJolt awardsという賞があります。
私はIT本を探すときにこのJolt awradsをよく参考にしています。
2010のJolt awardsの情報がなかなかでないなあと思っていたら
下記にスケジュールが掲載されていました。
http://www.drdobbs.com/joltawards/225600433
書籍については2011年なんですね。
残念。。。

Data Analysis with Open Source Tools

オライリーから「「Data Analysis with Open Source Tools」のRough cut版が出ました。
Safari bookで読めるので、ちょっと読んでみたいと思います。
読んだから、感想を掲載します。
http://oreilly.com/catalog/9781449389796/

Cassandra

まだ、全然しらべていませんが、No SQLのスケーラブルなデータベースとしてCassandraというものがあります。
http://cassandra.apache.org/

もとはFacebookが開発したようですが、現在はApacheによって開発されています。
これはちょっとおさえておきたい技術なので、勉強したいと思います。

参考web:
http://www.publickey1.jp/blog/10/twitterdiggnosqlcassandra.html

DMBOKの8. Reference and Master Data Management

今後ますますホットな話題として上がるキーワードにMDM Master data management/マスターデータ管理があります。
これは簡単に言ってしまえば、社内で別々に使われているデータをきちんと整理、統合して使うことです。
これは非常に重要なテーマですので、しっかり勉強しようと思います。
といってもいきなり分厚い本を読むのは大変ですので、DMBOKの第8章がMDMにあたるのでそこをまず読みました。
奥が深いですね。ここはデータの品質管理など様々テーマとかかわっているので、実践するのは大変です。
でも、やらないと企業競争力はあがらないですよね。ということでこのテーマも掘り下げて勉強していきたいと思います。

リレーショナルデータベースの真髄を伝えるクリス・デイト

データベースの教科書して全開で読まれている「An Introduction to Database Systems」と
いう本があります。日本語訳は古いバージョンですが、「データベースシステム概論」という名前で出版されています。
私はこの英語の最新版と日本語の両方を持っていますが、残念ながら読もう、読もうと思いつつ、まだ読んでいません。
これから読んでいきたいと思います。

で、この本を書いたのでクリス・デイトです。彼はリレーショナルデータベースの理論をわかりやすい説明することで定評があります。
わかりやすいとは言っても理論を厳密に説明しているので、じっくり学習しないとそれなりに難しいですが。。。
私がクリス・デートの本に触れたのは「データベース実践講義――エンジニアのためのリレーショナル理論」が初めてです。
と言ってもまだこれしか読んだことがないのですが。。。
この本の内容に感動して、クリス・デイトの本を集めたので、今のところこれ以外は集めただけでまだ読んでません。。。
うーん、読まないと。。。

クリス・デイトについては下記Wikipediaに説明がありますので、参考にしてください。

http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AA%E3%82%B9%E3%83%BB%E3%83%87%E3%82%A4%E3%83%88

OreillyのSafari bookにクリス・デイトのビデオ講義があるので、視聴してみたいと思います。
タイトルはC.J. Date's SQL and Relational Theory Master Class。
英語ですが。。。

クリス・デイトで検索していたら、「Nullology: The Zen of Database」というWebcastがあるようですので、
これも聞いてみたいと思います。
http://www.oreillynet.com/pub/e/1598

DMBOK 「9. Data Warehousing and Business Intelligence Management」を読む

以前紹介したData管理のフレームワークDMBOKのData warehouse / BIの章を読みました。
非常によくまとめれており、ビル・インモンとラルフ・キンボールのアーキテクチャやSlowly Changing Dimensionの
説明などがあります。
Data warehouse / BIに詳しくない人でもこの章をよめばある程度の知識をカバーできてしまいます。
忙しいマネージャはまずこれだけ読むだけでも大分違うのではないでしょうか。
現在、DMBOKを興味のあるところだけ、読んでいます。
次はMaster data managementの章を読んでみようと思います。

Databaseの動向を把握する

データエンジニアとしてはDatabase製品の最新動向を常にWatchしておくことは非常に
重要だと思います。
でも情報収集って結構大変ですよね。
そこで@ITにDatabase watchなるコラムがあります。
1か月に一回データベース最新情報について紹介しています。
非常に重宝しています。
http://www.atmarkit.co.jp/fdb/index/index-db.html#dbwatch

PowerPivot

SQL Server 2008 R2にPowerPivotと呼ばれる
ツールが付属しているようです。
これはローカルのメモリを使ってインメモリで多次元データを分析できるようです。
これを利用すれば、ユーザの利便性が非常に上がると思います。
詳細は下記記事を参照してください。
http://japan.zdnet.com/blog/komeno/2010/03/09/entry_27038048/

Data warehouse / BI技術について最新動向を提供する有益なサイト

Data warehouse/BI関連でよく検索していると下記サイトにぶつかります。
Data warehosue / BIについて最新の技術動向などを日本で提供している
非常にすぐれたサイトだと思います。
情報収集に利用しています。
http://www.publickey1.jp/

2010年6月15日火曜日

Hadoopを利用したBI

Hadoopを利用したBIをPentahoなどの企業が検討しているようです。
分析したデータが劇的に増える中、数年後にはHadoopを利用したBIの利用がもっと増えるかもしれませんね。

下記に詳細な記事があります。
http://www.publickey1.jp/blog/10/hadoopbi.html

大規模分散データ処理システムHadoop

Googleの検索を支えている技術に大規模分散ファイルシステム「Google File System」,
大規模分散計算フレームワーク「MapReduce」,大規模分散データベース「Big Table」,分散ロックサービス「Chubby」と
いう4つのソフトウェアが使われているそうです。

Hadoopはグーグル発表の論文をもとに作成されたオープンソースクローンです。
対応は以下の通り。
Google File System→Hadoop Distributed File System
MapReduce→Hadoop MapReduce
BigTable→hBase

Googleの論文
http://labs.google.com/papers/gfs.html
http://labs.google.com/papers/mapreduce.html
http://labs.google.com/papers/bigtable.html
http://labs.google.com/papers/chubby.html


Hadoopの利用は現在欧米の大手企業を中心に進んでいるようで、Data warehouseでの利用もされているようです。
ちなみにFacebookが開発したHiveというHadoop上に乗っかるデータウェアハウス用のソフトウェアもあります。
http://hadoop.apache.org/hive/

将来的にこのような分散処理技術はますます必要になると思います。
ということで概要と全体像だけでも勉強しておきたいと思います。

http://hadoop.apache.org/




また、GoogleでBigQueryという、データにアクセスするテクノロジーもあるようです。
http://code.google.com/intl/ja/apis/bigquery/

2010年6月13日日曜日

リレーショナル理論を極める本

データベースを理解するにはなんと言ってもリレーショナル理論を理解することが
必要になります。
現在主流のデータベースはすべてリレーショナル理論をベースにしていますので
データモデルの設計をする上ではリレーショナル理論の理解は必須です。
本日紹介するのはそのリレーショナル理論をマスターするための本の紹介です。
私がおすすめするにはクリス・デイトのデータベース実践講義 ―エンジニアのためのリレーショナル理論です。
オライリーから出版されています。
正直難易度は高いですが、これを読めばリレーショナル理論とは何かが理解できると思います。
とは言っても私もまだこの本のすべての内容を完全には理解していないです。
この本は何度も何度も読めば味で出る本ですので、何度も読む必要があります。
でもこの内容が理解できればデータ設計力はかなり向上すると思います。
引用本は忘れましたが確か有名な人がこのようなことを言っていました。
「実践なき理論は空虚である。理論なき実践は危険である。」
データ管理、データベースにとってもまさにその通りだと思います。

このレベルの理論を理解しているSEは非常に少ないと思います。
ですので、スーパーデータエンジニアを目指すかたはならず読んでほしいと思います。
幸いなことに日本版がありますし。。。
しばらく読み返していないのでまた読んでみたいと思います。


2010年6月11日金曜日

Data warehouse / BIの有益な情報を提供するサイト

Information managementというサイトがあります。
ここにはData warehouse / BIの有名な専門科のコラムが多数掲載されています。
非常に有益な情報が公開されているので役に立っています。

Information management

ビル・インモンの本

データウェアハウスの更なる勉強のため、下記のビル・インモンの本を読むことにしました。



これはラルフ・キンボールの本と並んで、データウェアハウスの名著です。
購入はしましたが今まで読んでいませんでした。。。ということで読みます。


DW 2.0 / Data warehouse 2.0の勉強のため、本書を読みます。

インモン本を読まないとだめですよね

以前、インモン vs キンボールということでデータウェアハウスの派閥について
説明しました。
私は現在のところはキンボール派なのですが、それは小さく初めて大きく育ていることが
できるからです。いわゆるクイックアクションが取りやすいと思います。
でも、インモンの概念も非常に大事ですし、企業全体のデータウェアハウスを考えるうえでは
必須の知識だと思います。
ということで、インモンの本も読んで勉強したいと思います。

データって奥が深いですよね。

MS SQL Sever 2008とDW 2.0

Webを検索していたら、下記記事を見つけました。
http://technet.microsoft.com/en-us/library/ee730351.aspx

SQL Sever 2008R2ってかなり進化しているんですね。。。
もっと勉強しないといけないですね。

DW 2.0の勉強を始める

DW 2.0というのがあります。
次世代のデータウェアハウスのアーキテクチャのようです。
データウェアハウスの父といわれるビル・インモンによって提唱されているようです。
下記に簡単な記事があります。(英語です。)
http://www.information-management.com/issues/20060401/1051111-1.html

こちらにも情報があるようです。
http://www.inmoncif.com/home/

早速、DW 2.0について勉強をしてみたいと思います。

まずはインモンのDW 2.0: The Architecture for the Next Generation of Data Warehousingを
読んでみようと思います。

スタースキーマ、Dimensionalモデルのすすめ

Data warehouseの要件や設計をする際はスタースキーマを利用するといいと思います。
理由としてはユーザと話をするときにスタースキーマを利用してユーザと話ができることです。
普通ユーザはテクニカルには詳しくないのでデータモデルを見せると混乱すると思いますが、
スタースキーマは非常にシンプルであり、分析する切り口が非常にわかりやすいので要件定義も
スムーズにできると思います。

Relationalデータの設計から入った私としては、最初はスタースキーマに抵抗がありましたが
一度わかると自分で分析の切り口を考える際も非常に役立ちます。。。

皆さん、スタースキーマを利用しましょう。。。

Factテーブルの種類について

Factテーブルの種類は3つの種類があります。

①トランザクション(Transaction)
トランザクション情報
②期間スナップショット(Periodic snapshot)
ある期間のサマリー情報
③累積スナップショット(Accumulating snapshot)
ライフタイムまたはビジネスサイクルの情報

これらを念頭において、要件分析や設計をすると非常にすっきりとします。

キンボール本の「5.5.Fact Table Comparison」によくまとめらた表が
ありますので、詳細はそちらを参考にしてください。


FactデータをTransactionとCurrentのDimension情報で見たい場合の設計方法

Factデータをデータが発生した当時のDimension情報と現在の最新データの両方が見たいばあいがあります。
たとえば、当時の住んでいた都道府県と現在の都道府県の両方で見たい場合など。。。
Dimensionの更新の扱いについてはSCD(Slowly Changing Dimension)というテクニックがあるのですが、
そのType3またはType6を利用するとTransactionとCurrentの情報を見ることができるのですが、
DimensionにType1とType3が混ざっているとややこしいので、実際は必要な項目だけType1とType3の両方のDimensionを作成して
対応しています。
たとえば、都道府県の例でいえば、Factテーブルに発生した時点の都道府県Dimensonのキーを入れておきます。
これでデータ発生した際の都道府県のデータは分かります。
現在の最新の都道府県のデータはCustomer dimensionに入れておき、FactテーブルにはCustomer keyを入れておきます。
そうすれば、Customerから最新の都道府県が参照できます。

多少ETLの処理が複雑になってしまいますが、パフォーマンス的には問題ないと思います。

Cusotmer dimensionのDateデータをどう扱うか

Customer dimensionを設計する際、データに最終購入日や生年月日などのDateデータが
含まれることがよくあります。そのままテキストデータとして日付を入れてもいいのですが、要件として
Date dimensionに含まれるmonthやYearなどのグルーピングを利用したい場合があります。
そのばあいはどのようにDimensionを設計すればいいのでしょうか。

一般的にStar schemaを作成する際は、snowflakeはなるべく使用しないほうがいいといわれますが
この場合はOutriggerというsnowfalkeテクニックを使用します。
Outriggerとはこの場合、Customer dimensionのDate項目にDate dimensionのサロゲートキーを
持たせ、リンクを張ること言います。そうすれば、Date dimensionのグルーピング機能を利用できるようになります。
ただ、結合が増えてしますので、要件を考慮して、過度な使用は避けたほうがいいようです。

詳細を知りたい方、キンボール本「The Data Warehouse Toolkit: The Complete Guide to Dimensional Model」
の「6.2.2. Other Common Customer Attributes」に記載されていますのでそちらを参照してください。


2010年6月9日水曜日

ビジネス分析の知識体系:BABOK

データウェアハウス、BIを設計するにあたってまず大事なのはビジネス分析です。
ビジネス分析するにあたってまずは最低限の業務知識は必要だと思いますが
ビジネス分析するスキルも重要です。
とは言ってもテクニカルスキルとは違ってこれは簡単に身に付くものはありません。
ほとんどの人は経験で学びながら身につける人が多いのはないでしょうか。
自分で身につけることができない人はなかなか難しいですよね。

そこで今回紹介するのが、
BABOK、Business analysis body of knowledgeです。
日本語に訳すとビジネス分析の知識体系となります。
これはいわゆるビジネス分析のベストプラクティスのようです。
私は英語版のBABOKを購入したのですが、なかなか勉強が進んでいません。。。
ということでがんばって勉強します。。。

あと、PMPと同じようにこれにも資格試験があるようです。
しかし、これは試験を受けるのにかなり難しいようです。
BABOKを管理しているIIBAに合格体験記が載っていますが、
試験を受けるまでに結構審査が厳しいようです。
ま、それだけ品質は担保されているってことでしょうか。
私もいつかチャレンジしたいと思いますが、当面はBABOKを勉強して
実務で少しずつ利用していきたいと思います。

IIBA

2010年6月8日火曜日

データ管理のフレームワークDAMA-DMBOK

皆さん、プロジェクトマネジメントの知識体系のPMBOKを知っている人は多いと思います。
PMPを持っている人も多いのでないでしょうか。
実は、データ管理においても知識体系が存在します。その名はDMBOKです。
日本ではデータ総研が日本語化しています。日本語版はデータ総研で購入することができるようです。

ちなみに私はこの英語版を購入しました。ということでちょっとずつ読み始めています。
ボリュームが非常に多いのですが、データに関して幅広くまとめられています。
もちろん、データウェアハウスについても記載があり、インモンとキンボールのアーキテクチャに
ついても記載があります。

がんばって英語で読み込んで、このブログでも紹介して行きたいと思います。




Data Management International

2010年5月29日土曜日

The Data Warehouse Toolkit: The Complete Guide to Dimensional Modelingを読破

ラルフ・キンボールのディメンショナルモデリングの名著といわれる
「The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling」を
やっとはじめから終わりまで読破しました。
本書はData warehouse / BIに携わる人は必ず読むべき名著だと思います。
本書はいろいろな産業のケーススタディをもとにディメンショナルモデリングの重要トピックスを
わかりやすく解説しております。
現在、仕事でDimensional modelの設計を行っているので、仕事で考えながら本書を読むことによって
深い理解することができました。



現在は下記2冊を平行して読んでいます。


こちらもケーススタディをもとにディメンショナルモデルの設計について説明しています。
日本語訳はないと思います。


キンボール本はベンダーニュートラルに説明していますが、実際の製品の実装方法を勉強すると
より理解できると思います。本書はキンボールメソッドをマイクロソフトSQL Server 2005を用いて
説明しています。実務で利用しているので非常に参考になると思います。
まだ、読み始めたばかりですが。。。

これの本はすべて名著だと思いますので価格はちょっと高くしかも英語ですので敷居は高いですが
ぜひ読んでもらいたいと思います。

2010年5月15日土曜日

購入した本が届きました

仕事が急に忙しくなり、なかなかブログの更新ができませんでした。

さて、データウェアハウス用の勉強としてAmazonで注文していた本が届きました。
届いた本は下記。







早速読みたいと思います。

2010年5月5日水曜日

ネットワークの勉強

現在、情報セキュリティスペシャリストの試験に向けて勉強を開始しましたが、
勉強していく中でやっぱりネットワークもきちっと勉強しないとまずいことがわかりました。
ということで下記書籍を今日購入しました。



これはアイテックの本ですが、ネットワーク勉強の教科書として購入しました。


やっぱり勉強するには問題集をやるのが一番ですよね。ということで書店でみて一番
わかりやすいこの問題集を買いました。


現在持っている情報セキュリティスペシャリストの本では、ちょっと問題が少ないので
補強として本書を買いました。

これから情報セキュリティスペシャリストとネットワークスペシャリストを併用で勉強していきたいと
思います。

共通キャリアフレームワーク

データとはあまり関係ありませんが、共通キャリアフレームワークについて紹介したいと思います。
今後のどのようなキャリアを進むべきかについては皆さん日々悩んでいると思います。
そうは言っても情報技術の範囲はとても広いのでどのようなキャリアを身につけるべきかも非常に
悩むと思います。
そこで参考になるのが、情報処理推進機構から発行されている共通キャリアフレームワークです。
詳細は下記のサイトを参照してください。
共通キャリア・スキルフレームワーク

情報セキュリティスペシャリスト試験

現在の会社ではシステムアナリストとして勤務しており、どちらかというとプロジェクトマネジメントや
ベンダーマネジメントなどが中心で技術的なことからはすっかり遠ざかっています。
しかし、やっぱりテクニカルなことを知らないと問題の切り分けが適切にできませんし、プロジェクトマネジメントや
ベンダーマネジメントも適切にできないと思います。
そんなわけで、テクニカルスキルを強化すべく、情報処理試験を利用して自分のスキルアップをすることにしました。
その一環としてまず、4月に情報処理試験の応用情報処理試験を受験しました。
まだ、結果は出ていませんが、自己採点の結果、どうやら合格していそうなので、早速次回の資格勉強を開始することに
しました。悩んだあげく次回は「情報セキュリティスペシャリスト」を受験することにしました。
早速、アマゾンで下記書籍を購入して勉強を開始しました。





上記書籍は非常に重要ポイントがまとめらていて非常に良いと思います。
情報処理の試験はいつもITECの書籍を買っています。
過去問などがしっかりしているからです。これから情報処理を勉強する人にはITECの教材がおすすめです。
ITEC

できれば、すべての情報処理試験の合格を目指したいと思います。

2010年5月1日土曜日

Star schemaに関する有益なブログ

Star schema, Data warehouse, Dimensional model, BIなどに関する有益な情報を提供するサイトは
非常に少ないと思います。何か参考になるサイトがないかと探していたら、Christopher Adamsonのブログに
たどり着きました。Christopher Adamsonは、いくつか有益な本を書いています。
現在、私は彼のMastering Data Warehouse Aggregates: Solutions for Star Schema Performanceを読んでいますが
非常にいい本だと思います。
そんな彼のブログが下記のサイトです。
Chris Adamsonのブログ
英語ですが、非常に有益な情報が含まれているので、ぜひ参考にしてください。

2010年4月17日土曜日

ITマネジメントについて理解できる名著

日経BP社から出版された「ビジネスリーダーにITがマネジメントできるか -あるITリーダーの冒険」を
読みました。本書は、ある日突然事業部門長からCIOに任命された主人公をもとにIT部門が抱える問題点などを
CIOとして主人公が解決していく物語になっています。
本書の原著は「the adventures of an IT leader」で、この本はMBAのケーススタディの教材として
使用されているようです。
本書の読んだ感想としてはこれは名著だなと思いました。私はユーザ企業のIT部門で働いていますが
まさに現実の現場で起きていることが本当によく描かれています。まさに私が日々悩んでいることが
この書籍に凝縮されていると言っても過言ではないと思います。
また、MBAの教材として使用されているだけあって、教科書としても非常に優れています。
文書の所々にITマネジメントで非常となるキーワードやフレームワークがちりばめられており、
本書を読む勧めていくことによりITマネジメントに詳しくない人でも知らず知らずに内に自然に
ITマネジメントの要点をつかむことができます。
また、本書には参考図書などはないのですが、本文中にそのヒントが隠されているので、それをしらべて
いくことによりさらに勉強を進めることもできます。一例をあれば、「IT doesn't matter」などの論文などの
記載もあります。
IT部門の人にとってはまさに名著と言ってもいいと思います。CIOおよびIT部門に人には必ず読んで
欲しい本です。また、IT以外の人も本書を読むことによって得体の知れないIT部門についてより理解できると
思います。
何度も繰り返し読みたいと思います。



2010年4月10日土曜日

Junk dimensionって何だ?

Junk dimensionとは、フラグやインディケータなどをファクトテーブルから
取り除き、その他Dimensionにしたディメンションのことです。
いろいろごちゃ混ぜになっているので、Junk dimensionです。

Dimension role-playingとは?

Dimension role-playingとは、1つのファクトテーブルで同じディメンションを
複数参照するディメンションのことをDimension Role-playingと言います。
例えば、date dimension。
Order managementでは、注文日、請求日などにdate dimensionを複数利用します。

メタデータって何だ?

メタデータとはいわゆるデータのデータと言われます。
では、データのデータって何でしょう。

例えば、データベースのテーブル構造やDBAロール、その他、ビジネスルールなどの
ドキュメントもMeta dataとなります。
これは非常にメンテナンスが大変な部分ですが、非常に大事です。

データウェアハウスのコンポーネント

データウェアハウスは、下記の4つのコンポーネントから成り立っています。
・Operational source systems
実際の業務で使用するデータベースです。基幹システムと言われたりもします。
データは業務に必要なデータのみ保持しています。

・Data staging area
データウェアハウスへデータをロードする前のステージングエリアです。
ここでは、データのクレンジングや加工などが行われます。
ここで使われるツールはETLですね。

・Data presentation area
実際のデータベースになります。データの形はスタースキーマとなります。

・Data access tools
レポートなどを表示するツールとなります。
いわゆるBIツールですね。

Data warehouse bus architectureとは?小さく初めて大きく育てる!

会社で管理するデータをすべて一元管理するのは理想の姿です。
でも、言うのは簡単ですが、実際実行するのは非常に大変です。
では、データウェアハウスでデータを一元管理するのはどうすればいいのでしょうか。
そこでラルフ・キンボールが提唱しているのが、「Data warehouse bus architecture」という考え方です。

これは簡単に言うと各Factで使用するディメンションを統合して、共通して使用することによる
統一したデータマート群を構築すると言うことです。
これはビル・インモンのデータウェアハウスの考えた方とは違った考え方ですね。
ビル・インモンとラルフ・キンボールの違いについては下記の記事を参照してください。
ビル・インモンかラルフ・キンボールかそれが問題だ!

Data warehouse bus architectureの利点は小さく初めて大きく育てることができることです。
例えば、一度にすべてのデータウェアハウスを統合して共通データベースを作成しようとすると
お金も時間もかかるし、結局うまくまとまらず中途半端なデータウェアハウスができてしまうことがあります。
その点、Data warehouse bus architectureを利用すれば、例えばセールスシステムの一部から作成して
どんどん広げて行くこともできます。また、小さく始めることによって徐々にナレッジもたまっていくことでしょう。

2010年4月5日月曜日

ハッカーになろう!

コンピュータに関する勉強を始めるにはないから始めればいいのでしょうか。
こういった疑問を持つ人は多いと思います。
大学などでコンピュータサイエンスを勉強した人などは周りにいいガイド役がたくさんいるので
こういった悩みはないと思いますが、独学で勉強している人などは非常に困ります。
そこで参考になるのが、エリック・レイモンドのハッカーになろうという文章です。
ここでいうハッカーはコンピュータのプロフェッショナルのことでコンピュータに侵入などする人々の
ことではありません。これらの人々はクラッカーとして区別しています。

ハッカーになろうでは、どのプログラム言語から学べよいかなど非常に参考に有益な情報が含まれています。
まず、ぜひ一読しましょう。

ハッカーになろう

2010年4月3日土曜日

BI オープンソース Pentaho

BIやデータウェアハウスの分野でも、非常にクオリティの高いオープンソース製品があります。
私が今注目しているのが、オープンソースのPentahoです。
データベースとして、MySQLを使用すれば、あとのこのPentahoだけでデータウェアハウス、BIを
構築できてしまいます。
これから、Pentahoについて本格的に勉強したいと思います。
まずは下記本で勉強したいと思います。

Pentaho page

マイケル・ストーンブレーカー

マイケル・ストーンブレーカー
Database column

データベースについて勉強するための本

システムを勉強するにあたって必要なので本をよんで勉強することです。
でも、一番困るのがどの本を読めばいいのかよくわからないということです。
データを扱う上でシステム屋として一番大切なことはなんといってもデータベースです。
データベースの仕組みを勉強したいと思って、いい本がないかと思いさがしていたところ
下記ページを見つめました。
非常にいい本がまとめられていると思います。
早速、詳細されている本を全部買って読みたいと思います。

ぜひ押さえておきたいデータベースの教科書

列指向データベース(Columnar database )って何だ?

データウェアハウスを構築するにあたって問題になるのが、そのデータ量とパフォーマンスだと思います。
ハードウェアがどんどん安くなっているとはいえ、データ量が多くなればなるほど、バックアップの管理など
非常に大変になります。また、パフォーマンスも気になるところです。

そこで救世主となるが列指向データベース(Column oriented database / Columnar database)と言われる
データベースです。じゃ、列指向データベースって何でしょうか。
OracleやSQL Serverなどのリレーショナルデータベースは行指向データベースといわれ、内部的にデータを
行単位で保持しております。列指向データベースは内部的にデータを列単位で保持しています。

じゃ、列指向でデータを保持すると何がいいのでしょうか。実は列でデータを保持すると、大量データの
検索のスピードが劇的に向上します。また、データの圧縮が非常に効率よくできます。
そのかわり、データの更新などは効率がわるくなりますので、過去のデータを分析するデータウェアハウスなどに
非常に向いている技術といえます。
列指向データベースで有名なのはサイベースのSybase IQでしょう。
現在ではOpen sourceなどの列指向データベースなどが結構リリースされています。
私が注目しているところではMySQLのストレージとして利用できるInfobright, InfiniDBです。

列指向データベースについては下記Wikipediaに詳しい説明があります。
Column-oriented_DBMS

2010年3月31日水曜日

Slowly Changing Dimensions (SCD)について

Slowly Changing Dimensions (SCD)って何でしょうか。
実はこれデータウェアハウスで使用するディメンションデータの更新の対応方法のことなのです。
ディメンションとは、年や月、製品、住所などのデータを分析する上で必要になる切り口のことですが、
これは更新されることがあります。例えば、Aさんが引っ越して、住所が長野県から東京都にかわるなどです。
それをそのまま何も考えずに上書きすると大変なことになります。なぜなら、今まで長野県に住んでいるときに
行った過去の行動が東京でおこったことになるからです。
そのため、データウェアハウスの設計ではこの更新する方法論が確立されています。
基本はType0~Type4まであり、あとそのハイブリット型があります。

Type 0 SCD:
何もしない。値がかわっても無視です。

Type 1 SCD:
値が変化したときに、テーブルの値をそのまま上書き変更します。
これは、変更がビジネス上さほど重要でない場合に採用します。たとえば、顧客の名前など。。。
問題点としては、顧客の住所などを上書きすると、過去のデータを地域別でみた場合、
データが正しく分析できないことです。
また、注意としてサマリーデータなどを持っている場合は、データを再構築する必要があります。

Type 2 SCD:
値が変化したときに、新しいレコードを追加します。
また、各レコードにStart dateとEnd dateを入れておきます。
最新のデータはEnd dateに9999131などを入れておきます。
問題点としては変更が多いとたくさんのレコードが増えます。
また、この場合過去のサマリーテーブルは再構築する必要はありません。

Type 3 SCD:
あらかじめデータに現在の値とその前の値のフィールドを用意しておき、
変更があった場合に古いデータを以前のデータフィールドへ入れて、最新の現在のデータフィールドへ
格納します。
問題点は複数の変更に対応できません。保持できるのは一つ前のデータだけ。
でもこれは営業のテリトリー変更などで一つまえのテリトリーで現在の値をみたい場合などに威力を発揮します。

Type 4 SCD:
これはテーブルには最新の情報を保持し、古いデータは別途用意した履歴テーブルへ格納します。
問題点としてはシステムが複雑になります。

Hybrid SCDs
これ以外にそのハイブリット版として2つの方法があります。

Predictable changes with Multiple Version overlays
これは例えば、毎年営業のテリトリーが変更になり、分析要件として
情報すべてを指定した年のテリトリーで数値をみたい場合などに利用します。
方法としては、レコードの列にそれぞれの年のフィールドを用意しておきます。
例:District 2010, District 2009, District 2008.....
でもシステムがとっても複雑になるので、諸刃の剣です。

Unpredictable Changes with Singel version overlay
これは予測できない変更に対して、分析の切り口として現在の状態での切り口とそのデータが発生したときに
切り口でみたい場合にしようします。
これはレコードにCurrentとPreのフィールドを用意しておき、変更があった場合に
レコードを追加し、関連するCurrentの変更を行う方法です。
例をみるとこんな感じ。
key,name, current, pre
1,AAA,TOKYO,NAGANO
2,AAA,TOKYO,KANAGAWA
3,AAA,TOKYO,TOKYO
これは、Type 2 と Type 3と Type 1を合わせた感じなので、Type 6(2+3+1)と呼ばれています。。。

このタイプは各レコードの列ごとに適用ですので、設計時にどれにするか入念な検討が必要となります。
設計する上で非常に重要な概念です。

UPCsって何の略?

UPCsはUniversal Product Codesの略です。

SKUって何の略?

SKUsはStock Keeping Unitsの略です。

サロゲートキーって何だ?

Demensionテーブルとリンクするために使用される連番番号です。
ファクトテーブルとディメンションテーブルをリンクするときは、基幹システムなどで
使用されているコードでなく、連番のサロゲートキーを使用します。
理由としてはまさにデータベースが柔軟になるからです。
例えば、製品コードなど、一度使ったものが再度使い回されることがあります。
この場合、長い期間でみると違った製品が同じコードで管理されていることになります。
ただ、オペレーションのほうは短い期間で運用しているのでオペレーション上は問題ないわけです。
もう古い製品は売っていないわけですから。。。
でも、長い期間で分析するデータウェアハウスではこれでは困ります。
そこでサロゲートキーの登場です。
これを使うと、同じ製品コードでも製品が違うので違ったサロゲートキーがふられます。
そのため、データウェアハウス上はきちっと管理できるわけです。

Degenerate dimension(DD)って何だ?

Degenerate dimensionとはファクトテーブルにあるkeyでDimensionテーブルを持たないディメンションのことです。
通常、ファクトテーブルがトランザクションレベルで保持されている場合、その粒度を一意に特定するコードが
Degenerate dimensionとして使用されます。例えば、注文番号や請求書番号など。
この利用法ですが、後で基幹システムのデータベースとデータをつきあわせることができます。

Coverage Factless Fact Tableって何だ?

例えば、キャンペーンなどの販売促進活動を行ったとします。
当然、どのような結果になったか各商品の売り上げなどを分析したいと思います。
その場合、スタースキーマでデータが保存されていれば、
当然ファクトテーブルをもとに必要なディメンションで分析を行うことができます。
ただ、下記のような質問には答えることはできません。

このキャンペーンで売れなかった商品はなんだろうか???

なぜなら、通常ファクトテーブルは実際に売り上げがおこったデータが格納されているからだ。
では、キャンペーン中、売れなかった商品はどのようにすれば分析できるのだろうか。

その場合に使用するのが、Factless fact tableだ。
方法としては、まずFactless tableに1日ごとまたは1週間ごとにすべての対象商品のレコードを格納します。
ちなみにこのFactless tableはFact tableと同様にディメンジョンを持っています。
違うのは数値データが入っていないことです。そのため、ファクトがないので、Factlessになっています。

そして、キャンペーン中に売れなかった商品を探すのは以下の2ステップを行います。
ステップ1
まず、factless tableで対象日の対象商品を抽出します。

ステップ2
次にファクトテーブルを利用して対象日に売れた商品を抽出します。

ステップ1とステップ2で抽出したデータをつきあわせれば完成です。

ディメンショナルデザイン(Dimensional design)における4つのステップ

データウェアハウスの構築する上で必ず必要になるのがディメンショナルデザインです。
ディメンショナルデザインを行うは次の4つのステップに従って行う必要があります。

1.モデリングプロセスを選ぶ
>実際にモデリングするビジネスを特定します

2.ビジネスプロセスの粒度(Grain)を決める
>これはデータをどの詳細レベルまで持つことにするか決めます。
ただ、ハードウェアは安い今、これは一番細かいレベルまで持つのでセオリーです。

3.ファクトテーブルに使うディメンションを決める
>データをどのような切り口でみる必要があるかを決めます。

4.ファクトテーブルの数値項目を決める
>実際に分析する数字を決めます。例えば、売り上げとかコストなど。

また、上記ステップを行うにあたって、ビジネス要件と実際のデータをもとに考えます。

2010年3月30日火曜日

ビジネスインテリジェンスの要件定義のコツ

データウェアハウスの設計、そのデータにアクセスするインタフェースの設計において大事なのはなんといっても
ユーザの要件をどこまで把握して定義できるかにかかっています。
これがきちっとできないとスケジュール、コスト、品質もさだまりません。
とはいってもデータ分析については正直ユーザも手探りで行っている場合が多いのでしっかりした
要件を把握することは非常に難しくなります。

また、よくあるのが、すべてテストが終わってUATの段階であれこれ追加要件が出ることです。
同然、プロジェクトマネジメントのセオリーとして各フェーズごとにサインをもらっているので
システム屋として突っぱねることもできるのですが、やっぱりユーザが使わないシステムはまずいということになります。
とはいってもユーザは優先順位などはよく考えず、Nice to haveなのに要件をがんがんだしてきます。

じゃ、どこまで対応すればいいのでしょうか。
そこでたよりになるのが、20対80の法則。
そうこの法則はビジネスインテリジェンスの要件定義にも当てはまるのです。
20対80の法則とは全体の20%の商品が売り上げなどの80%を占めるという法則。
よく使う20%を対応し残りは運用などでアドホック的に対応するといいと思います。
でもあくまでこれはデータにアクセスするインタフェースについての目安です。

データウェアハウスのデータは核になる部分ですので、これはしっかり考えて対応しましょう。

The O'Reilly School of Technology

コンピュータの本(動物が描かれているすてきな本)で有名なオライリーですが
The O'Reilly School of Technologyと称してコンピュータのオンラインコースが
あります。
現在私はそこのData Administration certificateコースを受講しています。
このコースは4つのコースからなっています。
1つのコースは400ドル前後となります。
また、毎月15ドルくらいの維持費を払えば、期限はありません。
コースは簡単にいうと以下のコースとなります。
1.データベースアドミニストレーション入門
>My SQLを利用してテーブルやSQLなどの基礎を学びます。

2. My SQL管理
>My SQLの管理

3.データウェアハウス
>データウェアハウスの基礎およびETLなど

4.データ分析
>主にMDXの習得

なかなか時間がなくてあまり進んでいませんが、
あらためて勉強を始めました。
復習もかねてはじめから勉強しています。

ブラウザだけあれば、すべてそこからソフトウェアにアクセスできるので
特別なソフトウェアは必要ありません。

このサイトでも勉強したことのエッセンスを紹介していきたいと思います。

The O'Reilly School of Technology

2010年3月29日月曜日

データウェアハウスとはいかにあるべきか論

ラルフ・キンボールの「The Data Warehouse Toolkit」という本に
Goals of a Data warehouseと称してデータウェアハウスとはいかにあるべきかが
述べらています。
すばり要点が述べられており、ちまたのデータベース技術者にぜひとも読んでもらいたい
ものなので、要点を記載したいと思います。

・データウェアハウスは組織の情報を簡単にアクセスさせること。
ユーザの立場から言えば、まさにその通りと納得でしょう。システム屋からいうと
そう簡単にいうなよって感じでしょうか。
ただ、ちまたにはパフォーマンスが悪くてユーザがアクセスしにくいシステムが
あふれています。データ量が多くてパフォーマンスが悪いのはわかりますが
きちんとデザインしてきちっと分析すればそれは実現できますよね。
私も含めて皆さんがんばりましょう。

・データウェアハウスは組織の情報を首尾一貫して表現すること。
これはいわゆるデータの品質のことです。
担当者がかわるなどで通常企業のデータの定義がかわってしまったりします。
数年立つとデータはぐちゃぐちゃってことはよくあります。
で最初からデータのクレンジングをやり直し。。。
品質が保たれていないとよけいな運用時間もとられますよね。。。

・データウェアハウスは変更に柔軟に対応できること。
会社の戦略は環境によって日々かわるし、扱うデータ、分析するデータも
日々かわります。
変化に対応できることは生存競争において必須条件です。
これもあたり前ですが、なかなか難しい。。。

・データウェアハウスはセキュアであれ。
これは当然。データにアクセスすべき人しかアクセスできないこと。
これは会社の死活問題です。

・データウェアハウスはよりよい意思決定の土台でして機能すること。
そうそう、データウェアハウスは意思決定を助けますね。

・データウェアハウスの成功とはビジネス側が使ってなんぼ。
これはそのとおり。いくら、予定どおりにプロジェクトを終わらせたって
使われないとしょうがない。
近くにいませんか。俺はプロジェクトマネジメント力があっていくつもの
プロジェクトを完了したって言って出世していく人。
でもそのシステムは結局あまり使われず運用チームがなんとか直すか
だましだまし使ってもらうか、ユーザが生データをひっこ抜いて、Accessか
なんかで実は分析していたりします。

これは耳が痛いですね。システム屋として。。。
でもその通り、これを目指しましょう。

YTD,3MMAって何だ?

仕事において、YTDと3MMAのデータが欲しいって言われました。
これって何かわかりますか?

YTDはすぐわかりました。これはYear To Dateの略ですね。
分析ではよく使われます。定義としては、その年の1月1日から現在までの合計ですね。
では、3MMAって何でしょうか。
これは3 Month Moving Averageの略のようです。日本に訳すと3ヶ月移動平均。
つまり、直近3ヶ月の平均になります。今が、三月だったら、1月から3月までの値を
足して三で割るとその値になります。なあーんだ、聞くと簡単ですね。
あと6MMAとか12MMAとかよく目にしますがこれも考えた方は同じです。
略称って難しいですよね。

ちなみにデータベースエンジニアはデータ分析の知識とスキルも必要に
なると思います。これがわからないとユーザとお話できないですからね。
また、社内の情報システム部はちょっとコンサル的な仕事も求められています。
例えば、業務分析してその改善点を提案するとか、またレポートの提案とか。
そう考えるとデータ分析のスキルはかなりのレベル必要ですよね。
システムエンジニアって大変!!!

がんばって勉強しようっと。

ビル・インモンかラルフ・キンボールかそれが問題だ!

データウェアハウスといえば、いわゆるオペレーションで使用される基幹システムとは
別に情報系のシステムとして情報をためるデータベースのことです。
データウェアハウスは基幹システムとは違って大量にデータを保存する必要が
あります。また、そこからデータを引っこ抜いて分析するのでパフォーマンスも
大事ですし、企業全体の数字をすべてみる必要があれば、やっぱりマスターなどは
きれいに整理しまとめる必要があります。
そのようなシステムだけにやはり作りなども基幹システムとは非常に異なってきます。
それには基幹システムでは学ばないテクニックとスキルが必要とされるのです。

そこで、早速スキルの学習となるのですが、やっぱりシステムエンジニアたるもの
まず必要なのは独学です。
そこで一番たよりになるので、書籍です。
インターネットの情報源も役に立ちますがそうはいっても体系的にまず
学ぶには書籍が最適だと思います。
私も自分書籍を買い込みました。また、コンピュータの本は非常に高いため
かなり出費しましたがそこは投資と割り切りました。
皆さんも本をたくさん買って読みましょう。

そこでまず書籍選びですが、定番ものから読みましょう。
じゃ、データウェアハウスの定番って何でしょうか。
実はデータウェアハウス業界は2つの派閥に分かれているのです。(本当か?)
その派閥とはデータウェアハウスの父と言われるビル・インモンと
ディメンショナル・データベースのラルフ・キンボールです。
その違いですが、まず、ビル・インモンは企業には1つの大きなデータウェアハウスが
あってそこから必要なデータをもとにそれぞれ必要なデータマートを作成する考えです。
また、大きなデータウェアハウスはいわゆるリレーショナルデータベースの第3正規形と
なります。
一方、ラルフ・キンボールですが、キンボールはデータウェアハウスを
データマートの寄せ集めと考えています。また、データマートはすべて
ディメンショナルデータベースとなります。ディメンショナルデータベースとは
一般的にスター型と言われるデータ構造でデータを素早く抽出するのに適しています。

じゃ、どっちにすればいいのでしょうか。私は断然ラルフ・キンボールの考えを
おすすめします。なんと言っても各ベンダーが出しているツールはキンボールの
考えにのっとって考えれているからです。
ということでまずはキンボール本から読みましょう。
実は言うとキンボールおよびキンボールの会社キンボールグループは非常に
多くの書籍を書いています。残念ながら日本語に翻訳されているのは本の
一部です。誰か翻訳してくらないかな。
っていうか、私が翻訳してもいいくらいなので、出版社のかた待っています。

ということで英語になってしまいますが、まずキンボールの本を全部読みましょう。
ちなみに私は全部買いましたがまだ読み終わっていません。
まずは「The Data Warehouse Toolkit: The complete Guide to Dimensional Modeling」から読みましょう。
私も今読み直しているところですので、このブログでいくつかエッセンスを紹介
して行きたいと思います。




スーパーデータエンジニアへの道

現在、世の中は不況のまっただ中です。
また、不況に関わらず中国などとは違って日本のような成熟社会では
ものはなかなか売れない状況です。
そんな状況の中、各企業は優れた戦略を立案し、実行していく必要があります。
優れた戦略を立案し、実行して行くにはまさに洗練された情報に基づいて
計画実行して行く必要があります。

そこで必要になるのが、企業の情報力、分析力です。
またそれをさされるのが情報技術です。
ただ、個人的な意見ですが日本の分析、情報テクノロジーは欧米に比べると
劣っていると言わざるを得ません。
それはデータベースやビジネスインテリジェンスなどの製品をみても明らかです。
利用率が高いものはすべて欧米のものです。
また、それらを支えるデータデザイン力、モデリングなどのスキルも非常の劣っています。
また、日本のシステムエンジニアの技術力は私も含めてまだまだなのではないでしょうか。
特にBIなどのスキル全滅と言っても過言ではないと思います。

このままではまずいと思い、このブログを開始しました。
このブログではスーパーデータエンジニアへの道と題して、データベース、
データウェアハウス、データ分析などのデータに関わるスキル、技術について学習したこと、
考えたことなどを日々書き込んでいきたいと思います。
このブログは自分の成長の記録および自分が後で参照する貴重な情報源になればと思います。
また、願わくはこのサイトが少しでも日本の技術の向上に役立てばと思います。

余談ですが、このブログのタイトルは私の好きなG.M.ワインバーグの
「スーパーエンジニアへの道」をもじって作成しています。
スーパーエンジニアへの道は名著であり、システムエンジニアにとっては
必読の書だと思いますが私はこの本のリアリティが非常に好きです。
普通の書籍は正直言うときれいごとばかりで自分の考えを整理するうえでは
役に立ちますが、いいことしかかいてないなあというきがします。
その点、スーパーエンジニアへの道はまさに実務で出会うリアリティが
書かれており非常に参考になります。
このブログのそのような内容にちょっとでも近づけられればと思います。