書評:SQLアンチパターン

2013/02/06 |書評 |comments(0)

「SQLアンチパターン」を読んで、たった今自分が助けられたので、紹介します。


電子版もあります

読んでいてまずうれしくなるのは、さまざまな"現場経験"者の意見(の集約)として「どう落としどころをつけるか」について提案されている点。トラブルエピソードも笑っちゃうくらいのあるあるネタです。

本書はとにかく、読んで即効性があるので、システム設計を始める前にさっと目を通したい。
私も今、プロジェクトスタート期にタイムリーに本書を読めて、本当に助かりました。実装方針で次の箇所を悩んでいたところ、本書のおかげで方針が固まったのです。

・ちょっと複雑な継承クラスのテーブルマッピングに迷っていた(5章6章)
・ランダム表示の実装(15章)

掲載コードの検証をしなければ2時間くらいで読める内容です。
プロジェクトスタート時に2~3000円+数時間の学習コストをかけるだけで、これから起こりうる問題の解決策が次々とアタマに浮かんできます。うまく実践できれば、結構莫大なお金・時間が「浮く」と思うので、はっきり言って買って読んだ方がいいでしょう


その他、本書のよさを挙げてみました。

読みやすいのにバックボーンにある理論が秀逸

小難しい理論書を読んだあとの、「で?」感が全くありません。
もちろん著者・訳者は、しっかりとした理論のインプットやバックボーンがある方々ですし、参考文献へのポインターもしっかりしているので、本書から詳細な理論に入っていくこともできそうです。

著者・訳者のバランス感覚に歴史を感じる

20年弱の自分の経験だけでも、

クライアント+DB、クライアント+サーバー、リモートオブジェクト(CORBA・EJB・SOAP)、
Webアプリ、デザインパターン、J2EEパターン、
ポータル・データウェアハウス等のプログラミングレス製品、
ORM、Rails、TDD ....

これだけいろいろ変化してきて、その中心にRDBMS・SQLだけは変わらずありました。本書は全体的に、このあたりを経験してきた人なら持っているであろう支点でバランスをとっているような気がします。
監訳者が親子2代というのも、この本の背景にある歴史からすると、とても納得してしまいます。

いろいろな技術者にとってフェアに楽しめる

「こんなのだれもやんねーよww」「そうそう、それ」「知らなかった。。」「ありがとう!」と思う瞬間が必ずあり、読み手によってそのポイントも違うと思います。

個人的にすごくシンパシーを感じた内容は、

・データ不整合でめっちゃ絞られた経験があるなら、検討の余地なく外部キーはつける。(4章)
・DWHなどのパッケージ製品のデーターを解析させられた経験があるならEAVなんて絶対に避ける(5章)。
・マシン一台でもリモートオブジェクト(EJB)を使うような"アンチパターン"をゴリゴリやってた我々J2EE狂信者からすれば、疎結合はあたりまえ身についている(24章)


SQLの解説書ではない

実はもっとSQLハック的な内容を期待して本書を購入しました。そういう意味では期待外れでした。

本書は「RDBMSを使うシステム」の設計アンチパターン集です。小手先でなんとかなる問題を扱っているのではありません。
作戦時点での致命的なミスを減らすために、繰り返しになりますが、買って読んだ方がいいでしょう。


コメント

コメントしてください

closed.