- PR -

画像を貼り付けるページについて画像の置き場所はどこが良いのか?

1
投稿者投稿内容
Ten
会議室デビュー日: 2005/01/06
投稿数: 2
投稿日時: 2005-01-06 12:18
初めて質問します。

Webにて、商品検索みたいなシステムを構築しようとしていますが、
商品の写真をいっしょに表示したいと考えています。

一般的に、画像の置き場所は、データベースが良いのか、ファイル
サーバでファイルとして保存するのが良いのか悩んでいます。

Java会議室への質問になっていないかもしれませんがよろしくお願
いします。

 要件:10000件くらいの商品の検索
 画像:JPG(100KByteくらい)
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-01-06 12:25
画像データなんてあんまりトランザクションとか関係ないとおもうので貴重なデータベース-APサーバ間のネットワーク資源を消費してしまうのはもったいないと思います。
また、画像ファイルの配信に Java の知的なスレッドを消費してしまうのももったいないので AP サーバの手前に Web サーバを立てて、そこにどかどか配置してしまうのが良いのではないでしょうか。
大抵の場合は *.do とか *.jsp さえプロキシしてあげれば AP サーバの用は済むはずです。

[ メッセージ編集済み 編集者: インギ 編集日時 2005-01-06 12:26 ]
Ten
会議室デビュー日: 2005/01/06
投稿数: 2
投稿日時: 2005-01-07 11:34
早速のご返答ありがとうございます。

納得のいく内容で参考になりました。

プロセスにしても、データにしても、置き場所に関しては、
最適配置が難しいですね。
ケースバイケースかとも思いますので、これからの設計フェ
ーズにおいてじっくりと結論出したいと思います。
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-01-07 14:48
引用:

貴重なデータベース-APサーバ間のネットワーク資源を消費してしまうのはもったいないと思います。また、画像ファイルの配信に Java の知的なスレッドを消費してしまうのももったいない


パフォーマンスの面から言えば、データベースよりも(ユーザーに近い)アプリケーションサーバやウェブサーバーのほうが良いでしょうね。

だけど、私は保守性の面から商品画像をデータベースに格納するメリットも少なくないと思っています。(実際、私はデータベースに格納しています。)

Webアプリケーションというのは顧客から見た場合の話であって、商品マスタの登録・修正・削除のために専用アプリケーションを作成することも少なくないと思います。このような場合に、商品画像だけを手前のウェブサーバーに配置するというのは結構面倒です。

商品コードや分類によって決定される特定のパス上にファイルを手動で置くのも手間がかかるし、自動化するのにも手間がかかります。「商品情報」を分離配置するという時点でキレイなモデル化とは言えないような気もします。

また、パフォーマンスの問題が顕在化してしまった場合には、リバースプロキシを設置して特定の(商品画像取得) Servlet 呼び出しをキャッシュするように設定することで逃げることもできるでしょう。設計段階でパフォーマンスを考慮するのはもちろん重要なことですが、保守性を犠牲にしてまでパフォーマンスを優先するのは好ましくないと思います。
1

スキルアップ/キャリアアップ(JOB@IT)