2012-02-19 16 views
1

私は最近インタビューを受けました。私のミニプロジェクトの説明の中で、インタビュアーは私に「あなたがアップロードした画像ファイルをどこに保存しましたか?」と尋ねました。イメージなどのファイルにファイルシステムファイルまたはデータベースを使用する必要がありますか?

私はデータベースではなくファイルシステムを使用していると答えました。私は、そうすることでパフォーマンスが低下しないと付け加えました。

(これらの画像は誰でも見ることができるため、多くのユーザーから画像にアクセスする可能性があります)。

私の驚いたことに、彼はあなたのファイルに多くの人がアクセスすると、データベースを使用するべきだと言いました。

私は.....データは、原子性、一貫性、独立性、耐久性と何の懸念を持っていないときに、なぜデータベースを使用することを彼と主張

しかし、彼は複数のユーザーが同じファイルにアクセスしているときことを言い続け、データベースが使用されます。彼はまた、多くの組織が同じことをしていると言いました。なぜなら、ファイルの格納がデータベース内で行われないと、データベースにBLOB型が存在するのはなぜでしょうか。

私は彼にうなずいた。それ以上の議論は望んでいませんでした。

今、私は混乱しています。彼の言うことは本当ですか?複数のアクセスがある場合、ファイルに対してデータベースを使用する必要がありますか?多くの組織がそうしていますか? 「はい」の場合は、その理由を説明してください。

+0

可能重複ファイルサーバとリンクの画像を格納[DBに画像を保存? - いや又はいやを(http://stackoverflow.com/questions/3748/storing-images- in-db-yea-or-nay)、このページの「関連する」リンクもご覧ください。 – Mat

+2

これは、あなたが権威と紛争をどのように扱うかをテストする面接官でした。 –

+0

[データベースまたはファイルシステムに画像を保存するのは良いですか?](http://stackoverflow.com/questions/877640/is-it-good-toore-images-in-database-or-file)の可能な複製-system) –

答えて

0

パフォーマンスを向上させるためにファイルパスをDBに保存する必要がありますが、イメージデータをDBに保存するという全く異なる意見がありますが、これは完全に間違っています。通常、データベースは高効率、信頼性を保つ必要がありますので、データベースファイルが大きすぎないようにしてください。私のコンセプトは間違いありません。多くのユーザーが同時に1つのファイルにアクセスするときのパフォーマンスを向上させるためには、他のキャッシュソリューションを使用する必要があります。

+0

次回は面接官がこの問題を提起すれば、「私はstackoverflowの人に裏付けされています」と言います。 – flnone

0

私のために問題がされて2倍

A)バックアップ - DBやファイルストア

- ファイルストア内の画像は、その後、2つのバックアップスキームを持っている必要がある場合は、DB内の画像は、DBは、はるかに大きくなります場合にはB)検索 - BLOB /バイナリデータ型をDB内外に取得することは、単純なデータ型ほど簡単ではなく、一部のORMツールではこれを処理できません。

特別な考慮事項は、ストレージのコストであり、非常に高速なディスクをdbサーバーに置くことができますが、ファイルサーバーの速度は遅くなりますが、非常に大きなディスクを使用することができます。

は、個人的に私は、データベース内の

+0

ありがとう、次回は、面接官がこの問題を提起すれば、私は言うでしょう - "imはstackoverflowの人に裏付けされています"。 – flnone

+0

インタビュアーは明らかに無縁です - 彼をstackoverflowで入手し、それを持っていくことができます:-) –

関連する問題