• ベストアンサー

プロバイダおまけページに

Perlでサイトを作るつもりですがデータベースを使えません 自PCを公開してPC内にPHPで「教えてgoo!」ようなサイトを作るとしたら データベースを使って作った場合と データベースを使わないでファイルをデータベース代わりにして作った場合と 処理速度はだいぶ違うのでしょうか? データベースを使うことのメリットが分からないので教えてください

  • guuman
  • お礼率86% (1043/1206)
  • PHP
  • 回答数4
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • vais
  • ベストアンサー率75% (47/62)
回答No.1

ファイルによるDBでも構わないとは思います。それはデータ量や更新頻度、検索性などを検討して決定します。  ただし、DBのメリットはかなりあると感じます。 データのソーティングや、検索時のインデックス処理などはDBに任せる方が遙かに楽だと思います。  ファイルによる制御の場合、1ファイルに複数ユーザが書き込む等の処理はどうしますか?  1ファイルだとソーティングが難しいですから、複数ファイルに分けますか?  ファイルを複数にした場合、プリプロセスである程度目的ファイルが検索・抽出できないと、ファイルのI/O処理が頻繁に発生して、表示をするさいの速度低下になりますが、その処理はどのようにいたしますか?  メンテナンスはどうしますか?  処理するためだけの、フラグ等に使用する項目はつけたりしませんか?その場合、フラグはどのように処理しますか? (例:質問に対する締め切り処理)  これらについて、ファイルによる処理があるていど理解できていれば、大丈夫だと思いますよ。  ただし、いずれもDBならば状況的に普通の処理であり、サーバ再度処理になるため、WEBに情報を表示する時には、すでにデータが抽出されている為、ファイルのI/O処理よりも早く表示できるでしょう。  検討してみてくださいね。  また疑問あれば、書き込んでください。

guuman
質問者

補足

ありがとうございます 最初からPCを公開してやるならばPHP+データベースでするのですが 最初はプロバイダのスペース(100MB)+Perlでやるのでデータベースは使えないのです だからPCに移行するときに作り直しになるので仕方なくファイルデータでやろう思いました 妥協して ソートや検索はしない場合表示速度としてはデータベースを使ったほうが早いでしょうか?

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

>Niftyでも使えるのですか? 未確認ですが、Perlが使えるなら使えると思うのですが… PHP5なら、特別に何も必要とせずそのまま使えます

guuman
質問者

お礼

ありがとうございます 残念ながらNiftyは多分PHPは使えません

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

SQLiteがサーバー要らずのデータベースとして使えます。 Perlからは、 DBD-SQLite2 か SQLite-DB を使えばいいと思います。 バージョンに注意。 一般に、データベースを使う方が処理が早くて、 扱う方は、SQLのような問い合わせを利用できるので、楽です。

参考URL:
http://www.sqlite.org/
guuman
質問者

お礼

ありがとうございます これはNiftyでも使えるのですか?

  • vais
  • ベストアンサー率75% (47/62)
回答No.2

 考えておられるファイルを使う場合の処理ですが、シーケンシャルアクセスのみということになるようですが、ソートも検索もない状況でも恐らく件数が増えてくれば顕著に速度低下がでると思われます。  テキストベースDBである、バークレイDBを使う等の方が良いとは思いますよ。  perl にはバークレイDBを操作するためのパッケージは入っていると思いますが、うろおぼえです。ごめんなさい。  希望されていたものが、「教えてgoo!」を模したものだとすると、どうしてもシーケンシャルアクセスだけで処理はしがたいと思います。  以下のスレッドは参考になりませんでしょうか。 ・・・おっ、回答になっていないかもしれない。        すいません。(^^;

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1136210
guuman
質問者

お礼

ありがとうございます バークレイも考えてみます

関連するQ&A

  • Perlは使えるがPHPが使えないプロバイダ

    にいるのでPCを公開してPHPできる環境を作りました PHPはPerlより大分早いのでしょうか? 他Perlに対するメリットを教えてください

    • ベストアンサー
    • PHP
  • PHPで外部CGIの表示

    今までサイトをHTMLで書いていましたが、共通項目などが管理しやすいようにPHPで構築しなおしていますが、CGI(perl)で運営している、BBSやメールフォームなどは、今まで通りのCGIで使用しいきたいのですが、PHPファイル内に自サーバー内のCGI(perl)で構築しているファイルを読み込むのに require,includeではうまく、PHPファイル内に表示されません。 readfileだと、自サーバー以外のファイルを読み込む場合に使用する関数と理解していますが、CGIファイルなどを読み込む場合にはどのようにしたらよいのでしょうか? ちなみに、この場で整理する意味で、まとめて使い方を教えて下さい。

    • 締切済み
    • PHP
  • 軽いページを作るには

    こんばんわ! お世話になっております。 自分のサイトはphpで作っています。そこにセッションが入りurlは http://www.○○○.jp/○○.php?/phpsessid=○○○○ になります。 しかし、大手さんのサイトは ○○.php?にはならず ○○○.jp/m/セッションid/ファイル名 になってます。 これは、セッションが入る度にm/の直下にセッション用のファイルを作りいわゆるファイルが作成されてから○○分又は○時間が経過したらファイルを削除するようにしているのですか? なぜ、自分のサイトよりも取得情報が膨大なのにスムーズにページが表示されるかその仕組みが分かりません。 自サーバとか共有サーバとかの問題だけではないのかもと思いました。 /m/セッションid/ファイル名 これの仕組みを教えてください。 phpファイルは使ってないのにphpファイル以上の快適さを作るにはどうしたら。

    • ベストアンサー
    • Java
  • PerlとphpのCGI版

    Perlは文書に最適化された言語だと今日知りました。 そこで思ったのですが、PerlとphpのCGI版の場合だと ファイルの読み書きなどを考えてみたところ、速度にさほど違いはないのでしょうか? mod_perlとphpのモジュール版の速度は同じくらいだと聞きます となればphpのCGI版はさほど早くなく、Perlと同程度じゃないかと思ったわけです どなたか教えてください!

  • PHP+MySQLでつくったアプリケーション

    自分のPCに勉強用としてApacheなどをインストールして いまでPHPとMySQLを使ったアプリケーションを作成していました。 PHPとMySQLがつかえるフリーのWEBサーバを借りて 今度は実際にWEB上で公開して見ようと思っています。 実際にアップロードしているときに気がついたのですが 将来的にMySQL以外のデータベースを使うことになっても 簡単に移行できるようにデータベースの操作に関する処理を別のファイルに書いて それをincludeしてつかっています。 php.iniのinclude_patch=のところを編集して別のところからincludeできるように設定してあったのですが、 レンタルサーバーのような自由が利かないサーバーではどのようにして対処したらいいでしょうか? 対処方法、代わりの方法などアドバイスいただけたらと思います。 よろしくおねがいします。

    • 締切済み
    • PHP
  • 自サイトから外部サイトにPOSTでジャンプする方法

    Perl/CGIの質問です。 自サイトのCGIでいろいろな処理(データベースのインサートなど)を行った後、 最後に外部サイトにPOSTで移動したいのです。 locationの場合、GetなのでNGです。(postしか外部サイトがパラメーターを受け取ってくれません。) 私の知る限りSocketでもpostできるということはわかったのですが、同時に移動は できませんよね?内部処理としてPOSTできるだけですよね? 簡単に言えばlocationをPOSTで送りたいということです。 どなたかよい方法をご教授いただけますようお願いいたします。

    • ベストアンサー
    • CGI
  • Perl5とMysql

    こんにちは。 今、初めてPerl5とMysql組み合わせでサイトを構築中なんですが、Perlの関数にflockってありますよね。ファイルのロックをするやつです。 私はデータベースを使うのが初めてなんですが、やはりこのような処理は必要なんでしょうか?もし必要ならどのような方法で行えばよいのでしょうか?

    • ベストアンサー
    • Perl
  • MySQLを使うと逆に処理が遅くなってしまった・・。

    質問があるのですがよろしくお願いします。 CGIを使ったサイトを運営しているのですが、テキスト形式のデータベースよりRDBMSを使ったデータベースの方がいいと周囲から言われ、perlのDBIを経由してMySQLと連携する仕様のCGIを作りました。ローカルサーバで試運転して問題なく動くのを確認してから、ロリポップのサーバに上げてまた試運転してみたのですが、今度はなぜか、ローカルで走らせたときより明らかに処理速度が遅くなってしまいました。ローカルで走らせた時は、テキスト形式のデータベースのCGIと変わらない速度で動いてくれたのですが、ロリポのサーバ上ではMySQLを使用するとなぜか遅くなってしまうようなのです。perlのDBIを使用しているのが原因なのかとも考えてみましたが、ローカルでの試行時ももちろんDBIを使って試行しており、その時はスムーズに早く動いたので、DBIのせいではないような気がするのですが・・ perlのDBIは処理速度が遅い、なんてことありませんよね? ロリポ上にアップすると処理が遅くなってしまう原因、どなたかご存知の方いらっしゃいましたらご教授よろしくお願いします。

    • ベストアンサー
    • MySQL
  • PHPでブログを作るのにDBを使った方が良い?

     公開されてるソースがあるのでそれを使えばいいんですが、プログラミングを学んでみたいという目的もあって、PHPの勉強を始めたところです。  で、あるサイトで学んでるんですが、その中でMySQLというものも出てきました。  データベースの勉強もここからが初めてで、四苦八苦しながらもなんとか読み進めていったんですが、今度はPHPとデータベースを組み合わせてブログを作ってみましょうという話になりました。  もともとブログや掲示板を作りたくて勉強を始めたので願ったり叶ったりなんですが、ここで一つ疑問が。  ブログってデータベース使ってましたっけ?(^_^;  公開されてるソースの解説を見てみると、特にデータベースが必要というような表記もなく、PHPとHTMLとスタイルシートだけで作ってるように見えます。  なので、もしかしたら余計な方向へ行こうとしてる?と、このままこのサイトで勉強を進めて良いものか不安になってしまいました(^_^;  よく分かってない素人考えとしては、ブログの仕組みってPHPでHTMLファイルを作ってるだけというイメージなのですが、データベースは必要なのでしょうか?  今はseesaaブログで借りてブログを書いていますが、仕組みが見えてないだけで、こういうブログもデータベースを使ってる?  だとしたら公開されてるブログのソースは、データベースを使える人限定ってことになりますよね?  ブログを作るのにデータベースは必要なのか?  また、必要ないにしても、データベースを使った方が良い面があるのか?  どうなんでしょうか?

    • ベストアンサー
    • PHP
  • データの処理速度を速くするには?(perl・PHP・データベース)

    個人サイトで、CGIを使ってる者です。 perlを使って、データの収集・表示等行っているのですが、 データ量が増えてきたせいか、 処理に時間がかかるようになってきて、対応を考えてます。 データの取り扱いは、 カンマ区切りの形式で読み書きを行っており、 情報量は3MB(データ数としては5万行)…。 これらのデータを、毎回全件読み込んで条件で抽出してるのですが、 他にもっと効率的な方法があるのではないかと模索中です。 あれこれ模索したところ、よくわからないところがあり、 知ってる方がいらっしゃいましたら、アドバイスの方よろしくお願い致します。 (職場でSQLやACCESSは使っております) ?1…perlよりPHPの方が、こういった処理に向いてる? ?2…データベースを使えば抽出が速くなる? ?3…データベースを使うには何かソフトを買う必要がある? ?4…そもそもperlやPHPでデータベースが使える?

    • ベストアンサー
    • PHP

専門家に質問してみよう