残高データは不要か

理屈の上ではいらんわけだけど、実際には過去数年分しかトランザクションを持たないことも多いから残高データは必要なんだろうな。

なぜ過去数年分しかトランザクションを持たないかと言えば、パフォーマンス的な問題もあるが、システムの中身がたびたび変化するので業務上は同じでもシステム的には異なるトランザクションデータになってしまうからだ。実際問題として、創業50年の企業において最も売り上げの多かった年を知りたいというニーズがあったとしても、50年前のトランザクションデータが残っているわけもなく、運良く残っていたとしても紙に書かれているに違いないので移行して持ってくるのは現実的ではない。

やはり過去のデータに関しては何らかの形で1年ごとの残高集計データを残しておかなければならない。ただ、その対処方法としては二つ考えられるだろう。

後者は、例えば在庫残高データの移行日以前の日付で現在在庫数の入庫データを作ってしまうわけである。こうすればシステム的には何ら影響を与えず過去データを取り込むことができる。

しかし、システム内では整合性が取れていても嘘の情報には違いないので、この方法で対応するのは良くないんじゃないかなぁ、と個人的には思っている。

むしろ、残高集計テーブルは、任意適用期間を持つように作り、移行日以前は年次で稼動後は日時で、といったように作る方がしっくりくる気もする。ただ、この方法はこの方法で明細へのドリルダウンが簡単にできなくて困るのだが……。