2011-01-27 4 views
2

は、自分のサイトのために、以下のユーザー・データを持っていますこの情報を個々のファイル、1日あたり、またはデータベースに保存する方が良いでしょうか?Webdev - データベースやファイルにヒットしてデータを記録する必要がありますか?</p> <p>がそれをです試み情報をダウンロード)情報</p> <p>3試み、</p> <p>1)IPをヒット、場所</p>は <p>2)ログイン名:

答えて

3

よくトレードオフがあります。

ファイルを使用すると、移動が簡単で、他のシステムへのエクスポートが簡単で、解析が簡単です。

データベースを使用すると、簡単に検索、レポート、およびセキュリティを使用できます。

これらの優先順位のバランスはあなた次第です。

+0

ここにいくつかの良い点があります。あなたに受け入れを与えるつもりです。他のすべての回答は良いものでした。+1は皆助けてくれてありがとうございます。 – Ben

+0

@Steve、あなたが何をすることになったのか興味があります。 –

+0

私は統計的なクエリ、永続性、およびセキュリティにもっと関心があるので、データベースソリューションを使いました。これが恐ろしく失敗した場合、私はこの質問を更新して戻します。 :) – Ben

2

データベースに保存しておくと、統計情報などのデータを読んでいる方がより簡単で効率的です。また、データベースはファイル書き込みロックを防ぎます。ファイルに格納する必要があるものは限られています。大部分が大量のバイナリデータ、e.xです。画像。

login nameがusersテーブルの/ a主キーを指していることを確認してください(自動インクリメント整数列、またはユーザー名を設定してください)。これにより、パフォーマンスが向上します。

3

ファイルは、データを記録するのに最適な格納場所です。毎日それらにアクセスする必要はなく、通常はクエリを実行する(これが決定要因になります)。通常のログデータは、テキストで有益であり、構造化されていません。また、ファイルAPIはログデータを追加するのに最適です。 (ただし、パフォーマンスは向上しますが、パフォーマンスの面で決定を下すべきではありません)。

+0

それが必要なときとして、あるいはcronジョブとしてデータベースにファイルからデータをロードすることができますが、あなたは「性能面での決定を基づか」させない理由について少し詳しく説明してもらえますか? – Ben

+0

@スティーブ:めったに測定できません。とにかくすべてのシングルイベントをログに記録したくないのですが、数百万人のユーザーがいなければ違いはありません。そのため、ログ構造/形式/評価方法のみを決定することが重要になると私は考えています。 – mario

1

ファイル:これまでのユーザーは通常、スクリプトのbeginnigにログオンしていると言っていましたが、データベースが長い間スクリプトのパフォーマンスに影響を与えると思われる場合、ファイルへのログ記録は多くのキャッシングで高速になります。

迅速かつとても便利報告が必要な場合は、常に

関連する問題

 関連する問題