失敗から学ぶRDBの正しい歩き方 読了

失敗から学ぶRDBの正しい歩き方 (Software Design plus)

失敗から学ぶRDBの正しい歩き方 (Software Design plus)

ここ最近、SQLクエリの書き換えやチューニングしたりしていたので、何か新しい観点を得られるかなと手にとってみた。

実はSQLアンチパターンはすでに読了済みなので、どうだろうと思っていたがアンチパターンでも出てきた内容の復習にもなり、新しい視点も得られたと思う。

SQLアンチパターン

SQLアンチパターン

raydive.hatenablog.jp

個人的にグッときたのは、

  • 失われた事実
  • 効かないINDEX
  • フラグの闇
  • ソートの依存
  • 複雑なクエリ
  • 塩漬けのバージョン
  • フレームワーク依存症

と言ったところだろうか。特に「失われた事実」で履歴データがない事による弊害や「効かないINDEX」「ソートの依存」のところは現在進行形で考えなきゃいけないところなだけに、どういう観点を持って改善していこうかと参考になるなーと読んでいた。また「フラグの闇」で出てくる「状態を持たずに事実のみを格納する」、この観点は自分の中になく、発見であった。これはDBの設計だけじゃなくてそれこそソフトウェアアーキテクチャのお話だとEvent Sourcingなどにも通づるところがあるなと。「複雑なクエリ」についてはSQLアンチパターンでも印象に残っていた箇所なだけに、なるべくシンプルなSQLを書いていきたいなという気持ちを新たにした。バージョンアップについては……うん、ちゃんとしていきたいね。

全体的に読みやすく参考文献もSQLアンチパターンを筆頭にいくつもあげられており、もしデータベースであまり性能が出ていないとか改善が必要ならばまずこの本を手にとってみるのがいいかもしれない。