テーブル設計について考えてみたのでメモ2

すごい単純な話なのだけど、今請け負ったシステムであったのでいちおうメモです

 

■やりたいこと

ユーザごとにLVをもたせたい

LVはユーザがサービスを使用した継続期間によってあがる

LVによってサービスの使いかってをかえたい

 

■案1

・ユーザマスタ

ユーザID

LV

ステータス 1:入会中、2:退会済み

入会日時

 

1日1回「ユーザマスタ」のステータスと入会日時を見てLVをUPDATEするバッチを走らせる

 

■案2

・ユーザマスタ

ユーザID

ステータス 1:入会中、2:退会済み

入会日時

 

ユーザがアクセスするごとにユーザマスタの入会日時と現在の日時をみて計算する

 

僕的にはどうかんがえても案2です

仕様にもよるけど案1だとバッチを動かすタイミングによるタイムラグも発生するし、なにかあったときのリカバリが面倒だし。。。バッチ処理つくる手間もかかるし。。。