人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

画像も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から持ってきたら「悲鳴をあげてしまう」という
ような意味なんでしょうか。

●質問者: mreurm
●カテゴリ:ウェブ制作
✍キーワード:AP DB ECサイト HTML mod_rewrite
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● KUROX
●20ポイント

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

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

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

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

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

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

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

>ためのmod_rewrite活用

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

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

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

おもわれる。

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

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

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

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

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

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

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

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

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

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

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

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

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


2 ● mo81
●50ポイント ベストアンサー

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

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


また、元ページに、


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


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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ