/note/tech

DB設計指針: 非正規形テーブルの方がよいパターン別解

上記以外にも非正規化テーブルで構築した方がよいケースとしては、外部システム(API)のレスポンスを保存する時である。

例えば、決済システムの決済結果レスポンスやマッシュアップ的なシステムで別サービスのAPIからデータを取得して表示するような場合が該当する。

外部システムのデータフォーマットは利用者側では制御できないものであり、場合によっては事前通達も無しにフォーマットが変更されることも有り得る。

この為、データフォーマットに合わせて正規化されたテーブルを作成するのは手間の割に得られるメリットはあまり無い。

更に言えば、そのようなテーブルは証跡としての役割が主であるため、とりあえずデータが入っていれば十分とされるケースも多い。

であれば、レスポンスをそのまま保存した方が合理的である。

したがって、外部システム(API)のレスポンスデータはいちいち正規化したテーブルを作成したりせず、シリアライズしてひとつのカラムに放り込む設計にした方がよい。