RDBのテーブル設計で「updateやdeleteはさせず、すべての変更はレコードのinsertのみで実現する。変更の衝突に強く、また古いレコードがそのまま変更ログとしても機能する」というやり方があると聞いたんですが。

http://q.hatena.ne.jp/1244686780
それっていわゆるデータウェアハウス向け開発のアプローチを通常のデータベース開発に持ってきましょう、という話なのではないかと。DELETEをしないとすると古いレコードが変更ログとして使える反面、普通に開発するとデータ量が爆発する懸念があるので、なんらかの形で過去データを削除するか、データ量の爆発を見越したストレージを用意するかしないとまずいかもしれません。