- ベストアンサー
更新頻度が高い処理の選択(DB or File)
たとえば、サイトのアクセス解析などを行う際に、一回アクセスがあった毎に ・DBのカウントデータを更新する ・DBにデータを挿入する ・ファイルに一行書き込む のどれかを行う場合 どれが一番速いか、または負荷が少ないのでしょうか
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
どの様な集計を行うかにもよりますが、生ログが毎回必要ならDBにログを書き込んでもいいと思います。 生ログの必要性が無く、統計的な(何日にはxxxxへ何回アクセスが有ったみたいな)情報でよければ、生ログはファイルに書いておいてアクセスの少なそうな時間帯にバッチ処理で集計を行い、集計結果だけをDBに書き込んでおくと言うのも手ではないでしょうか。 後は、ログ解析自体をWebサーバでする必要がなければ、ログファイルのファイル名を日付等にしておいて、別のPCにログファイルを移動させてログ解析を行えばWebサーバには負荷をかけずに行えます。
その他の回答 (1)
- t_ohta
- ベストアンサー率38% (5292/13827)
回答No.1
負荷という面で見れば「ファイルに一行書き込む」が一番軽いのではないでしょうか。 DBは1行分のデータを書き込んだつもりでもログなど付帯する情報をいくつもHDDに書き込むので、書き込む量は多くなります。
質問者
お礼
ご回答頂きありがとうございます。 たしかに、DBの方は裏でファイルアクセスは行っているはずなので 純粋にファイルアクセスするよりは重そうですね。 さらに、後々集計データを見たい状況になった場合を考えると その場合はどうでしょうか
お礼
無理に一つの所で、全部の処理をやろうと考えない方がいいってことですね。 実現したいことをもういちど考えてみたいと思います。 ありがとうございました。