メインコンテンツまでスキップ

データが壊れる

Scope

対象は、ソフトウェア内で扱われるデータについて、 「正」が一意に定まらない状態が観測されている状況である。

Definition

データが壊れるとは、本来一貫しているべき情報について、 正の所在が一意に定まらず、重複・欠落・不整合が併存して観測される状態を指す。

Symptoms(現れ方)

  • 同一の意味を持つ値が、複数の場所に存在し一致しない状態が観測される
  • 更新された情報が、特定の画面や処理に反映されない状態が継続して観測される
  • 本来必須であるデータが欠落したまま、処理が進行する状態が前提となっている
  • 整合性違反が例外ではなく、通常運用として扱われている状態が観測される

Typical Triggers

  • 一時的な対応として導入されたコピーやキャッシュが、そのまま運用に組み込まれている
  • 移行・マイグレーション時の前提が部分的にしか共有されていない状況が観測される
  • 外部連携や手動操作により、想定外の経路でデータが書き換えられている状況が観測される
  • 正の所在が明示されないまま、参照・更新箇所が増えている状況が観測される

Diagnostic Questions(見分けるための問い)

  • この値の正はどこにあるかを即答できる状態か
  • 同じ意味のデータを複数箇所で更新している状態か
  • 欠落や不整合が「例外」ではなく前提となっている状態か
  • 修正時に、影響範囲を列挙できる状態か

What This Is Not

  • 正規化や非正規化の是非を論じるものではない
  • 特定の DB 技術やデータストアの選択問題ではない
  • 単発の入力ミスや偶発的な障害を指すものではない

Connections