画像もDBに格納して管理する -扱いがめんどうなLOB(ラージオブジェクト)は使わない方法も含め

http://neta.ywcafe.net/000774.html

このページに関する質問です。

> 画像がDB上にあるということは、例えばHTML上にはこんな感じでimgタグを書くのか?
> <img src="getimage.php?imageid=123456" />
> いやいや、こんなのをECサイトの商品一覧画面上にたくさん埋め込んでいたら、
> それこそAP層もDB層も過負荷で悲鳴をあげてしまうだろう。

とあるのですが、getimage.phpで、以下に続く(ソースページではmod_rewriteを使っている)
・ファイルの存在確認。
・あればそれをそのままそれを表示
・なければDBから持ってきてファイル書き出しして表示
という処理を行うのと、そんなに大きく違うのでしょうか?

mod_rewriteを使って処理した方が軽そうですが、かといってPHPで処理したところで、
「悲鳴を上げてしまう」というほどではない気がします。
これは、いちいちアクセスのたびにDBから持ってきたら「悲鳴をあげてしまう」という
ような意味なんでしょうか。

回答の条件
  • 1人2回まで
  • 登録:2007/10/14 23:57:05
  • 終了:2007/10/17 20:12:16

ベストアンサー

id:mo81 No.2

mo81回答回数8ベストアンサー獲得回数22007/10/15 10:12:21

ポイント50pt

質問者様と元ページの方式を比較すると、質問者様の方式の方が余分なリクエストが発生しない分サーバへの負荷はむしろ低いかも知れません。

(ただしPHPモジュールがCGI方式--別プロセスで起動--の場合はこの限りではありません)


また、元ページに、


> それこそAP層もDB層も過負荷で悲鳴をあげてしまうだろう。


とありますが、元ページで画像データはBase64エンコードでDB格納することを前提としているようですので、「AP層が悲鳴をあげる」理由としてBase64デコード処理を想定しているのではないかと推測します。元ページの意図としては、PHPかmod_rewriteかということより、とにかくキャッシュしましょうよということでは。

その他の回答(1件)

id:KUROX No.1

KUROX回答回数3542ベストアンサー獲得回数1402007/10/15 00:42:22

ポイント20pt

>筆者の周辺でもラージオブジェクト型の利用には否定的な意見

>が多い。(oracleが多いからかなあ)

私も否定的で、oracleだからの可能性が高いです。

>ラージオブジェクト型じゃなくて、text型でやればいい

そこまでするなら、ラージオブジェクト型を素直に使った

ほうが良いと私は思います。

>DB上の画像データをファイルシステム上にキャッシュしておく

>ためのmod_rewrite活用

・PHPを実行する自体無駄な負荷がかかる

・DBのSELECTのアクセスに負荷がかかる

理論上はなるほどで、塵もつもればで、性能に影響があるとは

おもわれる。

>という処理を行うのと、そんなに大きく違うのでしょうか?

たとえば同時アクセスをどれだけ受け付けるような性能に

するかで違うとおもう。実際に負荷をかけるツールで負荷を

かけて性能測定しないとどの程度、性能差があるかは不明。

>「悲鳴を上げてしまう」というほどではない気がします。

どの程度の同時・大量のアクセスを想定してるかどうかで

感覚は違います。質問主と引用もとのHPの書き主の

想定が違うんだと思います。

また、プログラムのアルゴリズムでなくて、

ロードバランサーとかサーバー増強とか環境に解決策を

求めるケースも多いので、ここまで頑張る必要があるかどうか

は不明です。全体的にロジックが複雑になる傾向に高いし、

保守する人間の方が悲鳴を上げそうです。

id:mo81 No.2

mo81回答回数8ベストアンサー獲得回数22007/10/15 10:12:21ここでベストアンサー

ポイント50pt

質問者様と元ページの方式を比較すると、質問者様の方式の方が余分なリクエストが発生しない分サーバへの負荷はむしろ低いかも知れません。

(ただしPHPモジュールがCGI方式--別プロセスで起動--の場合はこの限りではありません)


また、元ページに、


> それこそAP層もDB層も過負荷で悲鳴をあげてしまうだろう。


とありますが、元ページで画像データはBase64エンコードでDB格納することを前提としているようですので、「AP層が悲鳴をあげる」理由としてBase64デコード処理を想定しているのではないかと推測します。元ページの意図としては、PHPかmod_rewriteかということより、とにかくキャッシュしましょうよということでは。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません