ツナワタリマイライフ

日常ネタから技術ネタ、音楽ネタまで何でも書きます。

"失敗から学ぶRDBの正しい歩き方"を読んだ

読んだ。

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

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

知見の宝庫。著者の曽根さんが本書を書く理由を「知見を後の世代につなぐため」といったことをおっしゃっていて(Twitterから見つけきれず。。。)本当にありがたいと思いました。この本自体も様々な参考となる本が紹介されていて、さらに次の学びへつなげることができるようになっています。

本書の中では、「フラグの闇」が印象的でした。これまで削除フラグにより論理削除と呼ばれるものはよく見てきたし、特に違和感を持っていませんでした。しかし、クエリの複雑化(かつ、影響が広範囲に及ぶ)、UNIQUE制約が使えなくなる可能性がある、カーディナリティが低くなる、といった理由があげられており、便利なのはわかる反面デメリットもあることを学びました。

そしてメタな考え方として「DBには事実のみを保存する」(=状態を持たせない)というのが今まで考えていなかった考え方でした。

削除フラグが利用したくなるシーンでも、まず他の方法でできないか検討してからデータベースで状態をもたせるか検討したほうが良さそうですね。

最後に目次をのせて自分の中のINDEXに保存して終えようと思います。

  • 第1章 データベースの迷宮
  • 第2章 失われた事実
  • 第3章 やり過ぎたJOIN
  • 第4章 効かないINDEX
  • 第5章 フラグの闇
  • 第6章 ソートの依存
  • 第7章 隠された状態
  • 第8章 JSONの甘い罠
  • 第9章 強過ぎる制約
  • 第10章 転んだ後のバックアップ
  • 第11章 見られないエラーログ
  • 第12章 監視されないデータベース
  • 第13章 知らないロック
  • 第14章 ロックの功罪
  • 第15章 簡単過ぎる不整合
  • 第16章 キャッシュ中毒
  • 第17章 複雑なクエリ
  • 第18章 ノーチェンジ・コンフィグ
  • 第19章 塩漬けのバージョン
  • 第20章 フレームワーク依存症