- ベストアンサー
phpの限界は?
たとえば、企業が自社のHPより、ショッピングカートを設置する場合は、 プログラム言語は「php」または「perl」で 顧客のデータファイルも、カンマ区切りのテキスト形式の「csv」でも 十分かと思います。 しかし、楽天やヤフーのような同時に何十人も使用する場合も、 (1)「php」または「perl」で作ったプログラムでも堪えられるのでしょうか?同時に何人程度の使用なら大丈夫なのでしょう? (2)一般的にこのようなケース(同時に何十人も使用するプログラムの場合 ショッピングカートの場合、メール配信もあると思います。)は どんな言語でプログラムを作成するのでしょうか? (3)データファィルは、MySQLなら大丈夫でしょうが、 テキスト形式のファイルを使う場合、どのような規模のシステムが限界なのでしょうか? 件数または同時使用頻度など。 テキスト形式のファイルの場合、データベースになっていませんから、 ファイルの更新は一度、全レコードを配列に入れて、 ふたたび、全配列をファィルに書き出すといった処理をすると思います。(もちろんLOCKはしますが) 教えていいただければ幸いです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
(1)耐える耐えられないは処理系(言語)の問題ではありません。 サーバーの性能(データベースの負荷も含む)、回線、の問題です。 (2)これも、一般的、というのはありません。開発効率、保守性を考え てそれぞれの企業で多種の言語で開発されていると思います。 (3)負荷的にはテキスト処理が一番軽いのですが、何万行以上になった 場合どうなるんでしょうかね。規模から考えるより、データの信頼性を 考えた結果の選択になるのではないでしょうか。 また複雑な検索抽出の処理など、テキストでは限界が出ます。
その他の回答 (3)
あまり詳しくはないので、すこしだけ。 顧客のデータファイルが、テキスト形式でネット上にあるのは、危険なきがしますねー。 データーベース化するのは、処理の速さや管理のしやすさもあるでしょうが、ログインしなければ、見ることができないっていうセキュリティ的な強さもあると思います。(クロスサイトスクリプティングなんかは気をつけないといけませんが。 2.おおくは、PHP、Perlだと思います。C言語でも作れるらしいけど。 最近は、PHPの方がデーターベースと、とっつきがいいので、PHPが多いかと。 表示の部分は、PHPで、内部の見えない部分がSQLでパターンで。 3.私の個人的な考えですが、一昔前は、テキストは100行、多くても300行が多かった気がします。 さすがに、1000行単位になると、テキストでは厳しいと思います。 容量も、何MB単位は危険かと。 MySQLは1万件でも、苦にならないと聞いたことがあるので、その差は歴然ですね。
- shimix
- ベストアンサー率54% (865/1590)
No.1のとおり、基本的にはDB利用ですね。DBサーバを別サーバにしたり、webサーバを複数台で負荷分散したりすれば拡張は可能です(もちろんサーバの性能自体を上げるという選択肢もあります)。 ただ(普通の)Perlのようにプロセス起動だと不利なので、phpなどの方が向いているかなとは思います。 ちなみにテキストファイルでもユーザ別や商品別のファイルにする(ファイル名をユーザIDなどにする)とかいった工夫で同時に書き替える可能性を減らせば(皆無にはできませんが)個人レベルなら「どうにかできる」かもしれません。でもデータの保護やバックアップなどを考えると(たとえ小規模でも)DBを利用すべきでしょうね。商用なら「データが壊れちゃいました」では済まないでしょうから。
- asuncion
- ベストアンサー率33% (2127/6289)
> 顧客のデータファイルも、カンマ区切りのテキスト形式の「csv」でも > 十分かと思います。 まず、これは論外です。 個人レベルのデータならばともかく、顧客データを扱う以上、 データベースを使うことは必須です。 > (1)「php」または「perl」で作ったプログラムでも堪えられるのでしょうか? それなりの性能を持ったサーバを用意すればよいです。 > (2) (中略)どんな言語でプログラムを作成するのでしょうか? HTMLを出力できて、データベースとのインタフェースがあれば、何でもよいです。 例として挙げられているPHPやPerlの他、最近ではRubyも メジャーになりつつあると思います。