nekoTheShadow’s diary

IT業界の片隅でひっそり生きるシステムエンジニアです(´・ω・`)

Bill Karwin『SQLアンチパターン』(オライリー・ジャパン)を読んだ。

SQLアンチパターン

SQLアンチパターン

アンチパターン集、つまりは「べからず集」です。決して「あるある集」ではありません(´;ω;`)ウッ…

システム開発において、比重が大きいにもかかわらずないがしろにされがちなのがデータベース。わたしのような業務系SEだと「たくさんのデータがあって、そのうえにアプリケーションをのせる」ということが多いので、DB周りがいい加減だと、あとあと泣きを見ることになります。というか現在進行形で泣きを見ています。ちくしょうめ(´・ω・`)

DBに限らず、世の中はベストプラクティス集にあふれています。理論に裏付けされた最善策を学び実践することは大事ですが、やってはいけないことを学ぶことで見えてくることもあります。むしろ「やってはいけないこと」を避けるだけで少なくとも大炎上は避けることができるはず。システム開発に欠かせないがためにその影響範囲が大きいRDBMSだからこそアンチパターンを学ぶ意味があるのだとわたしは思います。

ちなみに現在参画中のプロジェクトですが、本書に掲載されているアンチパターン「EAV」を利用しており、そのアンチパターン部分が見事にボトルネックになっています。メンテナンスも拡張も難しくなるし、なぜITアーキテクトは「EAV」を採用してしまったのか。本書を読んでいればそのデメリットがいたいほどわかったはずなのに――そういう意味でも感慨深い本でした。