テーブル設計について考えてみたのでメモ2
すごい単純な話なのだけど、今請け負ったシステムであったのでいちおうメモです
■やりたいこと
ユーザごとにLVをもたせたい
LVはユーザがサービスを使用した継続期間によってあがる
LVによってサービスの使いかってをかえたい
■案1
・ユーザマスタ
ユーザID
LV
ステータス 1:入会中、2:退会済み
入会日時
1日1回「ユーザマスタ」のステータスと入会日時を見てLVをUPDATEするバッチを走らせる
■案2
・ユーザマスタ
ユーザID
ステータス 1:入会中、2:退会済み
入会日時
ユーザがアクセスするごとにユーザマスタの入会日時と現在の日時をみて計算する
僕的にはどうかんがえても案2です
仕様にもよるけど案1だとバッチを動かすタイミングによるタイムラグも発生するし、なにかあったときのリカバリが面倒だし。。。バッチ処理つくる手間もかかるし。。。