エンタープライズプロジェクトでは、大量のデータ(元の値、変更された値、データを変更したユーザーなど)をログに記録する必要があります。NLogを使用してそのようなデータをログに記録し、ELMAHを使用して例外をログに記録しています。別のデータベースを使用してログ情報を保存するのか、プライマリデータベースを使用するのかわかりません。別のデータベースを使用する利点は次のとおりです。
- ログと例外はビジネスの一部ではないため、プライマリデータベースにある必要はありません。
- メインデータベースの負荷が軽減され、パフォーマンスが向上します。
短所は次のとおりです。
- ログデータベースが停止すると、このプロジェクトで非常に重要なログが失われます。(ただし、ロギングが成功しなかった場合は保存を防ぐことができます)
- トランザクションの処理は困難になります。(ログは保存されているが、データは保存されていない場合はどうなりますか)
もちろん、さらに多くの長所と短所がありますが、全体として、私は知る必要があります。かなりのトランザクションRDBMSを利用するエンタープライズソフトウェアのベストプラクティスは何ですか?それとも、いくつかの要因に基づいてプロジェクトごとに異なるのでしょうか?