データベースを使用して画像の保存も必要とする物を作る場合、
(画像も付けられる掲示板、顔写真付き会員情報など)
画像データはデータベースに入れるのが一般的なのでしょうか?
それとも「こういう時は入れる」「こういう時は入れない」という
定石のような事はあるのでしょうか?
また、データベースに入れた時と、ファイルとして保存した時の
それぞれのメリット、デメリットも教えてください。
よろしくお願いします。
http://databases.aspfaq.com/database/should-i-store-images-in-th...
http://www.webmasterworld.com/forum88/9091.htm
ほかのウェブページの紹介ですが、ファイルとして保存する方が利点が多いみたいですね:
* ほかのDBサーバーに以降する際に画像のbinary blob形式が異なる場合は変換が面倒
* DBがぶっ飛んでもファイルは助かる
* DBのバックアップが早い
* ファイルに保存していればアクセスする方法がほかにもあるので便利(例:スクリプトで一括処理とかサムネール作成とか)
* ウェブアプリケーションで表示する場合はimgタグでファイルを参照した方が早い
* リモートホストの画像も参照できる
逆にDBに保存する利点で考えられるのは
* セキュリティの調整が細かくできるかもしれない
* DBのバックアップだけで済むかもしれない
* DBで完結するので管理が楽(ファイルの命名とか衝突を気にする必要がない)
* ファイルへのリンクが切れるとか気にしなくても良い
まとめると
(1) 基本的にはファイルで保存するのがベスト
(2) 画像が小さくて、大量のレコードがある場合はDBに保存してもOK
SNSの会員の画像程度であればDBで保管するのがベストかもしれないですねぇ。
ありがとうございます。
とても参考になりました。