あなたの現場にも必ずあるDBシステムの“悪い例”が満載!
本書は、企業のDBシステムの設計/構築から運用管理、プロジェクト管理までの各フェーズにおけるトラブル(失敗)事例について、アンチパターン(べからず集)とその回避策/防止策を解説するものです。本書で取り上げるのは、筆者がこれまで数々の現場で実際に見てきたシステム関連のトラブルや事故であり、解決のためのノウハウやテクニックと合わせて習得することで、読者自身の現場業務やスキルアップに必ず役立ちます。本書は、月刊DBマガジンの人気特集「アンチパターンに学ぶDBシステム」3回分を加筆/再編集し、書籍としてまとめたものです。
PART1 DB&アプリケーション 編
Chapter1 データ設計
アンチパターン(1) ねずみ算
アンチパターン(2) 大河ドラマ「大作SQL」
アンチパターン(3) バケツ RDBMS
アンチパターン(4) 太っちょ(多くの列を持つ表)
アンチパターン(5) OLTPなのにSQLが重い
アンチパターン(6) DATE型の意識統一不足(時分秒など)
アンチパターン(7) データの保持期間を決めていない
Chapter2 アプリケーションコーディング
アンチパターン(8) 不適切なリトライの仕組み
アンチパターン(9) バッチにおいて適切に処理を分割していない
アンチパターン(10) バッチがリラン(再実行)できない
アンチパターン(11) 再利用しない(コネクションなど)
Chapter3 SQLコーディング
アンチパターン(12)バインド変数を使っていないSQL
アンチパターン(13)組み合わせ爆発
アンチパターン(14)臭い物に蓋をすると、もっと臭くなる
アンチパターン(15)データの量の暴力
アンチパターン(16)過ぎたるはなお及ばざるがごとし
Chapter4 計画にまつわるもの
アンチパターン(17) データの分身の術……どれが本物?
アンチパターン(18) DB連携地獄
アンチパターン(19) サーバー移行やバージョンアップでSQLのテスト軽視
PART2 インフラ 編
Chapter5 設計
アンチパターン(20) トランザクションスコープが不適切
アンチパターン(21) なんでもかんでもリアルタイム集計
アンチパターン(22) 詰まると接続が増えるアーキテクチャ
アンチパターン(23) 引きずられるアーキテクチャ
アンチパターン(24) 無関心(エラーが起こるまで異常に気がつかない)
アンチパターン(25) タイタニックシンドローム(絶対に沈まないと思って緊急時の備えを怠る)
アンチパターン(26) 自分で自分を診察する(自分を冷静に判断することはできない)
Chapter6 設定やテスト、運用
アンチパターン(27) 不法占拠
アンチパターン(28) 掃除しない部屋
アンチパターン(29) 振り返れば相手はいない
アンチパターン(30) 足元おろそか
アンチパターン(31) リソースのバランスが悪い
コラム● 限界性能テスト
PART3 プロジェクトマネジメント 編
Chapter7 DBシステムとプロマネの問題
アンチパターン(32) 気がついたらテストの時間がない(もしくはテストをしない)
アンチパターン(33) 目標なきチューニング
アンチパターン(34) 完璧な初期DBサイズ見積もりと実際のデータ量の差が生む悲劇
アンチパターン(35) 性能に関するアプローチがない
アンチパターン(36) DBに格納されているテストデータ量が少ない/種類が少ない
Chapter8 人のサガに起因するトラブル
アンチパターン(37) 見て見ぬふり
アンチパターン(38) 重すぎる高価な鎧(よろい)
アンチパターン(39) 度を越した楽観
アンチパターン(40) 心配屋
Chapter9 DBAをめぐる組織や権限の問題
アンチパターン(41) 自社に合ったDBAのあるべき姿が分からない/DB担当の要員アサインが悪い
アンチパターン(42) DBAが育たない
アンチパターン(43) セキュリティ権限設定とDB運用のミスマッチ
アンチパターン(44) DBチームのリーダー/担当者の権限が弱い