DWHについて僕が最初に勉強してみたこと

いろいろ縁があって、データウェアハウスについてちょっと勉強したので、まだまだ未熟者ではあるがここまでやったことをまとめておく。

キーワードを知る

データウェアハウスを設計・構築するにあたって知らなきゃお話にならないキーワード。
これはたまたま身近にスーパーなエンジニアがいて、「これは抑えてから設計に入らないとダメだよ」とのアドバイスをもらったのがきっかけ。

  • スタースキーマ
  • ファクト
  • ディメンション
  • インモンモデル
  • キンボールモデル
  • データボルトモデル

この辺のキーワードをググっていくと、結局派生して色々知識が入ってくるので、なんとなくDWHのイメージが具現化していく。

話は逸れるけど、自分より優れた人が身近にいるというのは自分の成長にとってとても大切なことだね。

本を読む

文系エンジニアの僕は新しい技術に対する応用力が乏しい。 エンジニアとしてそもそもの前提知識が欠如していることが多いからだ。

だからやっぱり体系だった知識が必要になり、そしてそれを得るにやはり書籍というのは最適な学習方法だと思う(出会う本にもよるけど)。

後は個人的に、「動けばいい」はやっぱり嫌で、ベストプラクティスを知りたいし、模索したいというエンジニアの端くれとしてのプライドもある。

にしても、日本語の書籍はとても少ない。
あっても結構古いものが多い。

ビッグデータだなんだって耳にするようになって久しいが、やっぱりそもそも扱うプロダクトやサービスが一定規模以上である必要があるし、そこに携われるエンジニアもおのずと限られているのかなぁなんて思った。

データウェアハウスがわかる本

データウェアハウスがわかる本

最初に読んだのはこれ。

この本の何が素晴らしいって、とても薄いことである(オイ
でも本当、新しい知識を学ぶときは要点を絞って、「まずそもそも」をざっくり把握するのが大切と思う。

データウェアハウスとは何ぞや?という点がすっきりまとまっている。
すっきりした中でもちゃんとスタースキーマやデータクレンジング、多次元データベースなど要点を押さえていると思う。

いわゆるRDBMSで開発してきたようなエンジニアなら前提知識もいらない。

BIシステム構築実践入門 (DB SELECTION)

BIシステム構築実践入門 (DB SELECTION)

その次に読んだのがこれ。
この本はもう少し具体的に、構築の流れに沿ってどういうことをしていけばいいのかが分かる。

ただし進め方がかなりウォーターフォール臭を醸し出しているので、アジャイルサムライとしては顔をしかめたくなるところもある(笑)
それでも作業が具体的に想像できるようになってよかった。
メジャーの抽出や鮮度分析、ディメンション分析、そしてモデリングという流れは要件分析としても非常にイメージしやすい。

えてして新しいことをやるときは「まず何やればいいんだっけ?」になりがちなので。。

ただし、この本はOpenOLAPという古いオープンソースプロジェクト?に言及しているところがちょくちょくあるので注意が必要。
おそらく出版された当初はホットだったのでしょうね。。

後半は会計や在庫など、より具体的なBIシステムを例にとって深堀していくが、その辺は飽きてしまったので読んでいない(オイ

最適化技法を知る

後はもう、いろんな人に聞いたりヒントをもらったり、調べたりですね。。

データ・ウェアハウスの最適化および技法

ここなんかは役立ったかな。

別エントリーで書いているものもあるけど、パッと思い浮かぶのでは下記とか。

  • ビットマップインデックスの利用
  • サロゲートキーを用いてファクト表を小さくする
  • 正規化を犠牲することもある(DWHは基本ReadOnlyのはずなのでRDB的の考えと異なる)
  • ディメンションの更新技法

まとめてみて

今んところ大きくはこのぐらい。 こうして書いてみると大したことないな。。もっと精進します。

なんにしても新しいことを勉強するのは楽しい。