雑文発散

«前の日記(2015-07-02) 最新 次の日記(2015-07-04)» 編集
過去の日記

2015-07-03 [長年日記]

[] 「10年戦えるデータ分析入門」は、やけに SQL を書きたくなる良書だった(しかも PostgreSQL 推し)

10年戦えるデータ分析入門 SQLを武器にデータ活用時代を生き抜く」を読み終えた。

10年戦えるデータ分析入門 SQLを武器にデータ活用時代を生き抜く (Informatics &IDEA)(青木 峰郎)

この本のことはしばらく前から気になっていたんだけど、調べ物をしていたら「巨大なバッチを分割して構成する 〜SQLバッチフレームワークBricolage〜」という記事にたどり着いて、「ふむふむなるほど参考になるな」と読んでいたら、最後にこの本が紹介されてたので、そのまま Kindle 版をポチった。ちなみに固定レイアウト本だったので、最初にサンプル版を iPad mini へ送信して読めそうかどうか判断してから買った。

Amazon の内容紹介には一切触れられてないけど、この本は PostgreSQL 推し。もともと PostgreSQL が好きなオレにはそれだけでも嬉しくなってしまうのに、「そんなこと知らなかった!」という内容もところどころに出てきて、大変ためになった。

特に「第8章 遅れて来た分析SQL最強の武器――ウィンドウ関数」のあたりとか、どうもイマイチ理解しきれてなかったところがスッキリ理解できた。

これまでも「Window関数 — Let's Postgres」などの記事で、その存在に触れてきていたので多少は知識があったのだけど、利用方法のイメージが見えきれずにいた。でも、この本で、もっと具体的なデータとクエリを使っての解説を読み、「なるほど、そういう場面で使うのか!」というイメージがわいた。

その他にも「第9章 縦と横は難しい」は、そうそう、これ難しいよなと思いながら読んでいて、pivot テーブルを使った手法を見て、こんな方法があったのかと目からウロコ。それから「第10章 アクセスログのセッション分析をする」は、少し前に似たようなことをやっていたので「この考え方は同じだった!」とか思ったりも。

また、第二部で触れらている「分析システムの構築」も非常に参考になった。

いわゆるビッグデータから必要なデータを抽出・集計して、それを閲覧・利用するシステムにデータを引き渡していく流れについて、ここまでリアルに書かれている本は貴重だと思う。

特に先ほどの「巨大なバッチを分割して構成する」というエンジニアブログを読んでいたので、筆者がそういうシステムの構築・運用を行なっている人であるということが分かっていたので信頼感があった。

そういう信頼感の中で「わたしのお勧めは、1ジョブをできるだけ小さくすることです」などの言葉は響いてくるし、「13.3 SQL ジョブのテスト」でテストパターンの作り方を丁寧に解説されているところなど「さすが」と思わせてくれる。とても勉強になる。

この本は「ビジネスに役立つ分析を行いたいマーケターも、ビッグデータをどうにかしたいエンジニアも、みんなまとめて面倒みましょう」という立ち位置なのだけど、少なくともこっち方面に興味があるエンジニアであれば「いま」読んでおく本だと思う。

なんで「いま」かと言うと、本を読みながら「10年戦える」というのは「2015年から」という接頭辞が付くのかもしれないなぁという印象を得たから。でも、10年くらいじゃ SQL は無くならない気もするので、まぁ、大丈夫かな(笑)

それにしても、この本を読んだ後に「オレはデータ分析できるぞ!!」という気になったのがすごい。たぶん実際にやってみると、そう簡単には行かないんだろうけど、そういう気分にさせてくれるほど分かりやすいので、オススメだよ。