- ベストアンサー
CGI(掲示板やカウンターなど)とデータベースの利用の意義
CGIを作るのに、(掲示板やカウンターなど)、でファイルの代わりにデータベースを使うのは、意味ありますでしょうか。 想定環境は、linux と PHP と MYSQL です。 掲示板やカウンターにわざわざデータベース使う意義ってあるんでしょうか。 データベースを利用した場合、負荷軽減など、向上するんでしょうか。 海外のスクリプトにPHPとMYSQL を使ったものがよくありますけど、 やっぱり、負荷軽減とかに効果的なんでしょうか。 特に効果もないならファイルで十分と考えてるんですけど、そのあたりが、よく分かりません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
CGIおんりーでかくならDBが圧倒的にはやいです だってファイルのオープンクローズ繰り返すだけ無駄ですよね。 DBをたてておけばバックエンドで常にひらきっぱにしておいてくれます それ以前にCGIの場合同時に同じデータソースにアクセスしてくるので それらの制御をflockだけでやると効率がわるすぎます。 それのほうが効果大きいかも。 てか・・・・なんでCGIのように複数のプログラムから同時に アクセスが早いか知りたければ、www.postgresql.orgでも みてください。 ちなみに、gooとかyahooとかじゃなくても、自前でサーバを 用意するようなサイトで、動的に色々やるサイトはほとんど なんらかのなんらかのDBをつかってます。 そうしないとまっとうな速度が出ないばかりか、開発コスト もあがりますから。 あと・・・あなたのアプリケーションがどのようなものか また、あなたの技量がどの程度のものかまったくわからないので 負荷についてはなにもいえません。 それこそ自分でコード書いて検証してください。 ちなみに私の場合多くの場合DBでかいたほうが負荷が小さいけど
その他の回答 (2)
- akino4
- ベストアンサー率18% (35/185)
私は、けいじばんとかチャットをDBでもファイルでもつくってみたけど・・・ 結論・・・・楽をしたいならDBをつかったほうがいいっすよ。 まぁ~カウンタごときにDBを使うのはなんかパワーショベルで金魚 すくいするような感じがありますけど(笑) まぁ~何でもやってみればわかるっすよぉ~~~linuxとかFreeBSDとか いれて試してみればぁ?
- Head_Syndicate
- ベストアンサー率64% (73/113)
小規模な場合、ファイルで処理するのとたいして変わりありません。 むしろDB使うほうが重いケースもあるでしょう。カウンターなどは さっさとファイルで処理したほうがよろしいかと。 でも、追加削除が頻繁にあり、データの構造が複雑になってきて プログラムも複雑になってきて…という事態ならばDBを使って すべてそのあたりをお任せする方が楽ですね。 データの排他ロックもやってくれるわけですし。バックアップ関係も ユーティリティがあったりしますし。 とはいえ、すべてDBでいいかというと、例えば全文検索とか そういった世界ではいちいちSQLを実行しているよりも自前で 特化したインデックスファイルとデータファイルを定期的に作った ほうが圧倒的に速いぜ、なんてこともあります。 まあ、ですから、効果がよくわからないなあ…といううちは別に まだ使う時期ではないのかもしれません。CGIを作ってるうちに 「なんだかデータの扱いが面倒になってきたなあ。こういうとき DBつかうと楽なのかもなあ」 と思ってから調べても充分かと思いますよ。 例えば、この「教えて!goo」と同じ仕組みを作れと言われたとして あなたはファイルでやってみますか?それとDBを使ったとき、 どちらが少ない日数で安定したプログラムが書けますか? まあそれでファイルで大丈夫!というなら大丈夫なのです。きっと。
補足
作るのはデータベース使ったほうが楽らしいですね。 負荷の方はどんな具合でしょう。 とりあえず、スレッド型(負荷重そうだから)の掲示板を想定、 1日5~8万ページビューぐらいの閲覧(html生成しないもので全部データの読み込みで表示、結構な負荷状態)を想定 yahooの掲示板とか、gooの掲示板とかになると ( もうすぐリニューアルらしいですが http://community.goo.ne.jp/help/Images/o0.gif )、やっぱりデータベース使ってるんでしょうかね。 ファイルの読み書きが多いと、やっぱりデータベースの方が負荷が抑えられるんでしょうか。負荷の方が気になります。 読み書きに関しては、ファイル操作のほうが速いって事はないのですかね。 ファイル操作より、データベース操作の方が、速くて、負荷小さいのですかね。 負荷が気になります。