投稿元:
レビューを見る
ある程度SQLに慣れ親しんだ人だったら「あー、あるある」と思いながら楽しめる本。ありがちなシチュエーションと目的、それに対するアンチパターンという構成で紹介されていて読みやすいし、楽しんで読めると思う。
メタデータトリブルを読んでパーティショニング機能が使えないMySQLはもう使うべきじゃないなーと思った(使ってるけど)。今ざっと読み返していいなと思ったアンチパターンはナイーブツリーかなあ。勉強になった。
投稿元:
レビューを見る
データベースを「データの入れ物」程度に考えている人にこそ読んで欲しい。私たちが目の前の問題に対して導き出した答えのほとんどがアンチパターンとして紹介されている。
アンチパターンに対しての代替咲くだけでなく、あえてアンチパターンを使ってもよい場合にも触れており、かなり実戦的な内容になっている。
投稿元:
レビューを見る
データベースに関連する設計/実装に関してのアンチパターンを示した良書です。タイトルは「SQLアンチパターン」ですが、対象はSQLに留まりません(正確には、SQL実行時に端を発するものばかりではありません)。内容は、論理設計、物理設計、クエリ、アプリケーション設計の4部に分かれています。
本書のメインは、もちろんアンチパターンの紹介です。が、単なる羅列ではなく、以下のような解説を行ってくれているため、体系的に理解することができます:
・そもそも実現したかった目的は何か
・アンチパターンによって引き起こされる問題は何か(何がいけないのか)
・アンチパターンに陥る兆候は何か
・ならばどう解決するか
加えて、特定RDBMS製品に限定した記述ではなく、MySQL,PostgreSQL,Oracle Database,SQL ServerといったほとんどのRDBMSについての解説を網羅しているため、DBに携わる開発者や運用者に広くお勧めできます。
本書を読まなくても、どこかで「やってはいけない」ことを聞いたことはあると思います。ただ、それがどんな側面でなぜ望ましくないのかを体系的かつ網羅的に説明してくれているのが本書なので、知識の整理に役立ちます。
個人的には、論理設計の章では、むしろそんな解法(アンチパターン)を思いつきすらしませんでした。最初にアンチパターンを見て「なるほど、そういう設計もあるのか」と思ったくらいです。ただ、そもそもパターンを「知らない」ことと、「知っていて使わない」ことは別なので、あらかじめ理解しておくことは役に立つと思っています。
一つ欠点を挙げると、上記の裏返しになりますが、データベースに関する様々な側面からアンチパターンを提示しているので、システム開発のどの担当(DB設計者なのかアプリケーション開発者なのか、といった)が本書を読むべきか、というのが伝えづらい点です。ただこれも裏返しで、アプリケーション開発者だから物理設計は知らなくてよいという理由にはなりませんし、むしろ包括的に理解してこそシステム全体の最善となることを考えると、開発に携わるあらゆる担当が読むべきでしょう。
そういった意味で、システム開発者は、一度は読んでおいて損はない本だと思います。
投稿元:
レビューを見る
RDBMS に関わるなら、読むべき必読書。
…まあ、率直に言って、 10 年以上 RDBMS に関わっていれば、「何を今さら…」な内容ではある。あるのだが、それに名前を付け、パターンとしてカタログ化されていることが、とても大切なのだ。
振り返れば、アンチパターンに記載されている失敗をいくつか経験し、眠れぬ夜を過ごしたこともあった。パターンにたどり着くまで、熱い議論を繰り広げたこともある。その時間を劇的に短縮できることの価値は、とても大きい。なにせ、私の 10 年が 10 時間ぐらいで習得できるのだから。…いや、まあ、知識が血となり肉となるには 1 年ぐらいはかかると思うけど…。 (^^; 個人差はあれど、知識を伝承するコストが大きく低減することは間違いなく、その価値は計り知れない。
OR マッパー全盛の現代ではあるが、永続化する手段として RDBMS はまだまだ君臨し続ける。サッカーの高度な戦術が、ボールを止める、パスを出すという基礎の上に成り立っているように、本書の技術はシステム構築のエッセンスとして、とても大切なことなのだ。
ソフトウェア技術に関わるなら、ぜひ、一読を。
投稿元:
レビューを見る
データベースの設計をする人は必読。確かに当たり前な内容なんだけど、時々こういう設計のデータベースやプログラムに当たって悩む。こうやってアンチパターンとして名前を付けてあげてくれると、一般化して、少しは減ってくれるかなという期待も。
投稿元:
レビューを見る
DBを扱うすべてのエンジニアに読んでおいて欲しい一冊。
基本的な内容も多く順序が関係ないのでわからない箇所は読み飛ばしてでも一通り目を通すことをおすすめします。
アンチパターンというアプローチも面白く、他の分野でも見つける努力をすると面白そうです。バッドノウハウにも似ている。特にアンチパターンの見つけ方は面白いです。誰もが通る失敗があったり、なかったり。
愚者は経験に学び、賢者は歴史に学ぶ、そうです。経験に学ぶほうがみに付きやすいですが、すでにわかってる罠を回避するためにも歴史に学びながら経験に学びたいですね。
投稿元:
レビューを見る
blog に書きました。
「SQL アンチパターン」を読んだ http://tsucchi.github.io/sql/2013/04/21/sqlap
投稿元:
レビューを見る
やっぱりパターンとして纏まっていることのすばらしさが改めてわかった一冊。今まで、過去の経験上、避けていた方法が、この本でパターンとして整理されていたおかげで、なぜダメな設計なのかを自分の中で再構築できた気がする。
内容としては、半分は知っている内容、半分は知らない内容なので、自分としての目新しさがちょっと無かったので、その点はちょっと評価が低くなるけど、それはまあしょうがないと思う。
目新しいさを除けば、自分のDB設計の再整理に最適なので、ぜひ他の人にも読んで欲しい一冊
投稿元:
レビューを見る
【オススメ書籍紹介】『SQLアンチパターン』Bill Karwin
(エンジニア:金子)
「愚者は経験に学び、賢者は歴史に学ぶ」
冒頭にドイツの宰相ビスマルクの格言が引用されています。
本のタイトルに入っている言葉である「アンチパターン」は「べからず集」であり、それを学ぶことにより、自らが失敗をせずとも他者の失敗から学ぶことができると書いています。
第4章で書かれているキーレスエントリ(外部キー嫌い)は、まさに過去に失敗した事のあるパターンでした。
DB側で参照整合性などの制約を厳しく設定した場合、アプリ側の実装で制約に違反をすることは出来なくなるため、時には制約が邪魔に感じることがあります。
しかし制約を外すということは、アプリ側での完璧なコード実装を前提にしており、それなりの代償を支払うことになると意識する必要があります。
この本を読んでいたら、もう少し慎重に検討していたと思います。
その他にも過去の開発経験を思い起こすと頷ける内容がいくつもありました。
本書ではアンチパターンごとに解決すべき目的や解決策、そしてアンチパターンを用いても良い場合の例外についてまで言及しているので、非常に実態に即した内容になっています。
日々開発をして行く中で、どうする事が最善か、道に迷う事があると思いますが、考える際の指針になる本だと思います。
その他にも「インデックスショットガン」(闇雲インデックス)や、「IDリクワイアド」(とりあえずID)など、エンジニアにはピンとくるような秀逸なタイトルも読んでいて面白いです。
エンジニアの方にはぜひオススメしたい一冊です。
投稿元:
レビューを見る
現場であるある的な内容(既知の内容とも言う)が思ったより多かったですが、系統的に分けられた本は他に見たことない。
基本的なSQL構文は理解したけどテーブル設計はあまりした事ない人とか、今までなんとなく現場のルールに従ってやってきた人には新しい発見が多いかも。
全体的に読みやすいです。
投稿元:
レビューを見る
とても素晴らしい本でした。SQLを利用したシステムを作る人にはお勧めしたい本です。具体的にイメージが沸くような形式で書かれているので、このアンチパターンがどういう副作用を生むのかというのを体感することができると思います。
投稿元:
レビューを見る
良書。アンチパターン=べからず集。
狭い意味でのSQLだけでなく、論理設計、物理設計、実装など幅広いジャンルについて記述されている。
むしろDB全般についてのアンチパターンといっても過言ではない(?)ので、色々な立場の人が楽しめると思う。
投稿元:
レビューを見る
本書は『SQLアンチパターン』と記されているが、テーブルに対してデータを取得するSQLに主眼を当てているのではなく、データを格納するテーブル設計に主眼を当てている。
テーブル設計はかなり難しく、その割にはまとまった書籍というものがなく、現場のバッドノウハウが積み重なっているのが現状。そのバッドノウハウに対して警鐘を鳴らしてくれるのが本書だと思う。
テーブル設計はどのシステムでも行うものであるため、本書は必ず読んでおくと良いと思う。
投稿元:
レビューを見る
データベース設計のべからず集。
経験や知識、思慮不足から生み出されがちな設計・構成をわかりやすいパターン名と併せて「なぜダメなのか」「どうすれば良いのか」を教えてくれる。
データベースを使うエンジニアは転ばぬ先の杖として一読しておくのがよいと思う。
投稿元:
レビューを見る
SQLの設計時のアンチパターン集。当たり前と思うものもあるが、一通り読んでおいて、ダメな設計をしていないか、そして、しているなら、どうすべきであるか、どういうことに気をつけるべきかを再確認できる。