ユーザー、ユーザーアカウント、ユーザーライセンス、ライセンス価格、請求書など、さまざまなデータにMS SQLを使用するWebアプリケーションを開発しています。
ユーザーのシステムのリアルタイム使用状況をログに記録して、毎月の請求に使用する必要があります。ユーザーが特定のページ/ URLを取得するたびにログに記録し、取得したページ数に基づいて月末にユーザーに請求します。
これらのログイベントをMS SQLデータベースのテーブルに書き込む必要がありますか?
これらのログイベントをSQL以外の追加専用ログファイルに書き込む必要がありますか?
これらのログイベントをユーザーごとに異なるログファイルに書き込む必要がありますか?
これは特に大容量のWebサイトではありません。たとえば、最大10,000人のユーザーが1日あたり平均5つのログ可能なイベントを実行=> 50,000イベント/日= 30イベント/分= 18,000,000イベント/年。
どちらのオプションも実行可能であり、明確な利点があるかどうかはわかりません。
請求可能なイベントに関連付けられたデータは単純です。例:
この質問に対する私自身の回答は次のとおりです。
ログをデータベーステーブルに書き込むことのいくつかの利点:
SELECT COUNT GROUP BY
ユーザーあたりのログイベント数のカウントを取得するログファイルに書き込むことのいくつかの利点:
私の答えが間違っている場合はお知らせください。または何かの重要性を誇張します。またはいくつかの重要な考慮事項を忘れています。
または、私の答えと異なる場合は、答えを教えてください。
この情報を請求の目的で使用しているので、簡単にクエリ、集約、レポート、および他のデータへの結合が可能なデータベースで情報を必要としない理由はわかりません。
また、個別のログファイルをまとめるよりも、ログ情報を含む単一のデータベーステーブルを維持する方がはるかに簡単だと思います。サーバーの負荷に関する懸念と同じです。データをフラットファイルに保持するよりも、これを処理する方法がはるかに優れています。
ところで、3つ目のオプションは、両方を実行することです。ほとんどのニーズにデータベースを使用しますが、監査目的でログファイルを用意します。