
CGIを作るのに、(掲示板やカウンターなど)、でファイルの代わりにデータベースを使うのは、意味ありますでしょうか。
想定環境は、linux と PHP と MYSQL です。
掲示板やカウンターにわざわざデータベース使う意義ってあるんでしょうか。
データベースを利用した場合、負荷軽減など、向上するんでしょうか。
海外のスクリプトにPHPとMYSQL を使ったものがよくありますけど、
やっぱり、負荷軽減とかに効果的なんでしょうか。
特に効果もないならファイルで十分と考えてるんですけど、そのあたりが、よく分かりません。
No.3ベストアンサー
- 回答日時:
CGIおんりーでかくならDBが圧倒的にはやいです
だってファイルのオープンクローズ繰り返すだけ無駄ですよね。
DBをたてておけばバックエンドで常にひらきっぱにしておいてくれます
それ以前にCGIの場合同時に同じデータソースにアクセスしてくるので
それらの制御をflockだけでやると効率がわるすぎます。
それのほうが効果大きいかも。
てか・・・・なんでCGIのように複数のプログラムから同時に
アクセスが早いか知りたければ、www.postgresql.orgでも
みてください。
ちなみに、gooとかyahooとかじゃなくても、自前でサーバを
用意するようなサイトで、動的に色々やるサイトはほとんど
なんらかのなんらかのDBをつかってます。
そうしないとまっとうな速度が出ないばかりか、開発コスト
もあがりますから。
あと・・・あなたのアプリケーションがどのようなものか
また、あなたの技量がどの程度のものかまったくわからないので
負荷についてはなにもいえません。
それこそ自分でコード書いて検証してください。
ちなみに私の場合多くの場合DBでかいたほうが負荷が小さいけど
No.2
- 回答日時:
私は、けいじばんとかチャットをDBでもファイルでもつくってみたけど・・・
結論・・・・楽をしたいならDBをつかったほうがいいっすよ。
まぁ~カウンタごときにDBを使うのはなんかパワーショベルで金魚
すくいするような感じがありますけど(笑)
まぁ~何でもやってみればわかるっすよぉ~~~linuxとかFreeBSDとか
いれて試してみればぁ?
この回答への補足
作るのはデータベース使ったほうが楽らしいですね。
負荷の方はどんな具合でしょう。
とりあえず、スレッド型(負荷重そうだから)の掲示板を想定、
1日5~8万ページビューぐらいの閲覧(html生成しないもので全部データの読み込みで表示、結構な負荷状態)を想定
yahooの掲示板とか、gooの掲示板とかになると ( もうすぐリニューアルらしいですが http://community.goo.ne.jp/help/Images/o0.gif )、やっぱりデータベース使ってるんでしょうかね。
ファイルの読み書きが多いと、やっぱりデータベースの方が負荷が抑えられるんでしょうか。負荷の方が気になります。
読み書きに関しては、ファイル操作のほうが速いって事はないのですかね。
ファイル操作より、データベース操作の方が、速くて、負荷小さいのですかね。
負荷が気になります。
No.1
- 回答日時:
小規模な場合、ファイルで処理するのとたいして変わりありません。
むしろDB使うほうが重いケースもあるでしょう。カウンターなどは
さっさとファイルで処理したほうがよろしいかと。
でも、追加削除が頻繁にあり、データの構造が複雑になってきて
プログラムも複雑になってきて…という事態ならばDBを使って
すべてそのあたりをお任せする方が楽ですね。
データの排他ロックもやってくれるわけですし。バックアップ関係も
ユーティリティがあったりしますし。
とはいえ、すべてDBでいいかというと、例えば全文検索とか
そういった世界ではいちいちSQLを実行しているよりも自前で
特化したインデックスファイルとデータファイルを定期的に作った
ほうが圧倒的に速いぜ、なんてこともあります。
まあ、ですから、効果がよくわからないなあ…といううちは別に
まだ使う時期ではないのかもしれません。CGIを作ってるうちに
「なんだかデータの扱いが面倒になってきたなあ。こういうとき
DBつかうと楽なのかもなあ」
と思ってから調べても充分かと思いますよ。
例えば、この「教えて!goo」と同じ仕組みを作れと言われたとして
あなたはファイルでやってみますか?それとDBを使ったとき、
どちらが少ない日数で安定したプログラムが書けますか?
まあそれでファイルで大丈夫!というなら大丈夫なのです。きっと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースファイル(.db)を開...
-
accsessで顧客コードで氏名を呼...
-
CSVファイルでテキストの改行の...
-
Accessを開きなおすとテキスト...
-
テキストボックスにコントロー...
-
sqlite(spatialite_gui)での...
-
汎用カード型のデータベースソ...
-
20万行あるデータを動かしたい
-
どうすれば 拡張子 を写真のよ...
-
DocuWorksでの印刷
-
はじめてのAccess 2019 について
-
.flex-direction プロパティは...
-
ファイルメーカーへネットワー...
-
警察はスマホに保存した動画や...
-
manana というやつで、間違って...
-
帳票フォームでのあるコンボボ...
-
エクセルのフィルタ抽出が固まる
-
構文エラー:演算子がありませ...
-
FileMaker Proに近い無料のWeb...
-
ACCESSのSQLで、NULLかNULLでな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースファイル(.db)を開...
-
同じSQL文で極端に検索が遅くな...
-
ODBCを使用する場合のファイルD...
-
Access2010でアクセス制限をしたい
-
DBファイルの中身を直接見れな...
-
badファイルの内容を知る方法
-
サーバーに接続できない
-
ダンプファイルから特定のテー...
-
htmlフォームから受け取ったフ...
-
SQLデータベースへのリンクがあ...
-
Notesの「notes.ini」内の環境...
-
パラメータファイルが壊れたと...
-
sqlファイルを分割するソフトは...
-
SQLLDRの制御ファイルについて
-
accdbファイルの最適化
-
こんにちは。Access上でExcelデ...
-
バッチでAccessのmdbファイルを...
-
レジストリとは?
-
Oracleのバックアップデ...
-
SQLiteとファイルキャッシュで...
おすすめ情報