達人に学ぶDB設計 徹底指南書

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ

論理設計/物理設計と正規化理論を概説した上で、非正規化や論理設計のグレーノウハウについて述べられている。
例えば、非正規化について更新不整合のリスクに加えて、以下3つのリスクが提示される。

  1. 検索性は向上させるが、更新パフォーマンスは低下させる。
  2. データのリアルタイム性を低下させる
  3. 後続の工程で設計変更すると、手戻りが大きい

特に、3点目のリスクについては、とても根本的な難しさを示していると感じた。
教科書的に「論理設計をして、物理設計をして、必要であれば非正規化をする」という手順をプロジェクトの進捗に応じて順次実行していくと、いざ非正規化の段階になった際に「手戻りが大きくて、変更が困難」という問題に直面するという難しさを感じた。
解決策は、初期段階でのアーキテクチャの合意と共有、段階的な設計/開発、など、プロジェクト管理の領域に見いだすべきものなのかも知れないと思った。
著者は、論理設計担当者に対する答えとして、以下のように指摘している。

論理設計を担当する人間は、正規形の理論を理解しているだけでなく、それによって生じる様々なトレードオフを知り尽くしたうえで、あらゆる要件を同時に満たせる平衡点を探し出せる能力が必要とされるのです。
そのとき重要なことは、実は論理設計を行うには、論理層、すなわち概念スキーマだけ考えていてはダメだ、ということです。というのも、パフォーマンスの問題について考えるときは、どうしてもファイルやハードウェアといった物理層に踏み込まざるをえないからです。
本当の論理設計は、論理と物理のトレードオフを理解して初めて可能になるのです。