2012-01-10 14 views
0

テンプレートとしていくつかのテキストファイルを使用して、WCF Data Services - Service Operation呼び出しの結果を作成しています。テキストファイルをSQL Serverデータベースに格納する必要がありますか?

テキストファイルはそれぞれ3000バイト以下です。

テンプレートファイルをWCF Data Servicesファイルとファイルシステムに格納し、それらをSQL Server 2008 R2サーバーに格納する賛否両論は何ですか?

+0

ファイルのテキストコンテンツではなくファイルを保存する理由は何ですか?好奇心、それはすべて –

+1

3Kは非常に小さいです。 SQL 2005以前のバージョンであっても、8Kのデータをvarcharに入れることができました。だから、これは本当により一般的な質問です: "私は自分の設定データをどこに置くべきですか?ファイルまたはデータベース内で?"このトピックに書かれた1トンがあります。 –

答えて

1

SQL Server 2008以前は、テキストファイルなどの大きなオブジェクトをデータベースに格納することを強くお勧めしました。それはアクセスを遅くする傾向があり、一般的には作業が難しくなりました。代わりに、私は一般的に問題のファイルへのリンクを格納することをお勧めします。

もちろん、誰かが削除すべきではないものを削除し、データベースから別々にバックアップして転送する必要があるファイルをデータベースが保護しないことを意味します。

SQL Server 2008では、以前の問題の多くがfilestream関数を使用して解決されていると思いますが、filestreamを使用してファイルを格納することは、時には非常に役立ちます。データベースの外に実際のデータを格納し続けるため、以前の複雑な問題の多くが回避されます。しかし、それは依然として両者を結びつけ、データベースのリンクを頼りにするのではなく、ファイルを保護することを可能にします。

1

いずれの保存方法についても長所と短所があります。今日(私の意見は変わりましたし、いつか再び変わるかもしれません)、私はセキュリティと管理能力に焦点を当てます。

  • 機密データの場合は、データベースに格納することでセキュリティがさらに強化される場合があります。それ以外の場合は、ファイルシステムよりもデータベースをハックするのが難しいかもしれません。セキュリティがあまり重要でない場合は、OSに格納する方が簡単で簡単です。
  • 管理のために、データが更新された場合(どのくらいの頻度で更新されるか)、更新は簡単ですか?データベース内の1つのインスタンスは、多くのサーバーがWebファーム内にあるが、各インスタンス上のインスタンスよりも更新(または破損)が簡単です。 (サーバー1台、問題なし、サーバー20台、頭痛の可能性があります)
0

私は、データベースに直接データを格納する方がよいと思います。これにより、データベースの読み取りと一般的なデータの処理がより効率的になるため、アクセスがさらに高速になります。いつでもデータベースに映画を保存することができます - それは問題ありません。大量のデータをストリーミングすることも可能です。

セキュリティ上の理由から、データベースを構成するのに十分なオプションが存在します。また、データベースをクラスタ化すると、スケーラビリティがさらに向上します。

関連する問題