2010-12-29 24 views
7

大きな写真/テキストファイルをSQL Serverに格納するためのベストプラクティスは何ですか。スケーラビリティの必要性に驚かされ、私たちはただ1台のサーバで作業しています。大きなファイルをSQLサーバーに格納

blobとは対照的にsqlにファイルパスを格納する方が良いと思います。これは本当ですか?ソフトウェアを拡張しなければならない場合は、この方法に従ってください。

答えて

9

ファイルのサイズによって異なります。

件名には、Microsoftのホワイトペーパーであるhereがあります。

256Kより小さいオブジェクトはデータベースに保存するのが最善ですが、1Mより大きいオブジェクトはファイルシステムに保存するのが最適です。 256Kの間および1M、読み取り:もちろんオブジェクトの上書きまたは交換の比率や割合を書く重要な要因である

、彼らの結論は、SQL Serverの(2005年および2008 R2)に固有のものです。

+0

素晴らしい紙行うのがベストプラクティスを読んStoring Images in DB - Yea or Nay?

! – gh9

+0

しかし、MS-SQLサーバーに固有のものであっても、いい紙です!また、画像の数やアプリケーションの仕様にも依存します。エラーを起こしにくいので、おそらくBLOBより安全です。 –

1

ほとんどの場合、ジョブに適切なツールを使用することの問題です。リレーショナル・データを格納する目的で、リレーショナル・データベースの最適化に多くの時間と労力が費やされています。ファイルを保存する目的で、ファイルシステムの最適化に多くの時間と労力が費やされています。

前者は、後者の仕事の一部を実行するために使用できますが、後者を使用しないという本当の理由がない限り、ジョブに適したツールです。ほぼすべてのケースで、ファイルパス(および必要に応じてファイルに関するその他の関連情報)をDBに格納し、FS上の実際のファイルは利用可能なツールを使用するより適切なアプローチです。

1

悪い考えです。ファイルにデータを保存する特別な理由がある場合を除きます。すでにここで説明:あなたはまだ主張する場合、素敵見つけ、そう:)ここBest Practices for uploading files to database

+0

DBに画像を置くことを決断した人は誰も呪われていないということは、一週間もありません。私はそれが当時の良いアイデアのように思えました、そして、私たちは決して非常に多くの画像を持っていないだろうと思っていますが、それは良い考えではありません。 – dwidel

+0

:)あなたの質問のタイトルが「SQL Serverに大きなファイルを格納する」と言っているときは特にそうです。大きな意味では、1メガバイト以上です。しかし、それが小さくても、私はDBに格納しません。ちょうど@Davidが正しく言ったように、それは仕事のための正しいツールではないからです。ファイル - Amazon S3でサイズ変更、ジップ、分割、またはおそらく配信したいと思うかもしれません。彼らがDBにいる場合、私はすぐにこれらを行うことはできません。 – Nishant

関連する問題