4

状況

あなたが社会科学を研究するとき、あなたはしばしばオンライン調査(オンラインでの科学的データ収集)の必要性に直面します。それが、私が最初にPHPを始めた主な理由の1つです。

最近、これらの調査アプリケーションは成長し、成長しています。レポート(フラッシュチャート、PDF生成)、データ集計、さまざまなレベルの集計(会社単位など)、関係する会社のアンケートモジュールの選択など、多くの複雑さが追加されました

今、私は、遅くなり、保守が困難になっている複雑なデータ収集およびレポートアプリケーションに直面していることに気づきました。

私のプラットフォームの1つには、1日あたり最大100人の新規ユーザーがいて、数千人のユーザーのデータに 百のデータ項目を掛け、 十の階層レベルを掛けて集計/レポートします。

私の質問

  • PHP / mysqlはまだ道のりですか?
  • codeIgnitorのようなフレームワークをそのようなアプリケーションの基盤にすることができますか、それともすべてを最初から開発する必要がありますか?
  • 私が基礎として使用できる調査固有のフレームワークの種類を知っていますか?
4

3 に答える 3

2

PHP/mysql はこの規模では問題ないはずですが、調整して十分なリソースを与える必要があります。

たとえば、スキーマが考え抜かれていないと、あらゆる種類のパフォーマンスの壁にぶつかります。データの保存方法とインデックス作成方法は、レポートのパフォーマンスにとっておそらく最も重要な要素です。mysql には 60 ~ 100 GB のデータがあり、やや複雑なクエリの応答時間は 1 秒未満でした。重要な要因は次のとおりです。

  • 私のデータは、私が使用した方法で索引付けされました
  • 私が使用したクエリは、考え抜かれ、テストされ、最適化されました

次に、MySQL サーバーに十分なリソースを提供する必要があります。共有ホスト サーバーでアプリを実行していて、すぐに使用できる設定を使用している場合、mysql はおそらく数百 MB を超えるデータでは適切に動作しません。キャッシュが調整されていること、テーブルの種類がアプリケーションに適していること、パフォーマンスのニーズを満たすのに十分なメモリと十分な速度のディスクがあることを確認してください。

そして最後に、データ セットが大きくなったときに誰もが使用するトリックがあります。それは、オンデマンドではなく cron でレポートを生成することです。フラッシュ グラフの生成に 2 分かかる場合は、cron を 5 分ごとに実行してデータを生成します。リアルタイムでデータベースにクエリを実行する代わりに、どこかのファイルに貼り付けて、それをグラフ作成ソフトウェアに吐き出します。

于 2008-10-28T17:01:58.343 に答える
2

PHP/mysql はまだ道のりですか?

はい、PHP/MYSQL (LAMP) は何百ものサイトで成功裏に使用されており、あなたのサイトよりも指数関数的に大きなユーザー ベースを持っています。

codeIgnitor のようなフレームワークは、そのようなアプリケーションの基礎になるのでしょうか? それとも、すべてをゼロから開発する必要がありますか?

フレームワーク (またはカスタム ビルド フレームワーク) なしで構築された重要な PHP サイトは、すぐにだらしのないものになる傾向があります。PHP フレームワークは現在、始めるための標準となっています。個人的にはZend Frameworkをお勧めします。これは非常に堅牢なフレームワークであり、多くの一般的な PHP タスク (データベース、日付、JSON、RPC、REST の置換/拡張) のためのツールと、Web アプリケーション開発のための組織化された方法論 ( Zend_Controllerを使用したMVC ) を提供します。

基礎として使用できるアンケート固有のフレームワークを知っていますか?

私が知っているものはありませんが、Zend_Formを使用して、構成ファイルからフォーム要素 (タイプ、フィルター、サニタイザー、バリデーター) を自動的に生成することをお勧めします。

于 2008-10-28T17:17:35.363 に答える
0

オープン ソースの Limesurvey アプリケーションを調べる必要があります。

PHP/Mysql を使用しているため、タスクに対する PHP の適切性に関する質問の 1 つに対処できます。

Limesurvey の以前のバージョンは CodeIgniter で書かれていましたが、CodeIgniter ライセンスに関する不確実性と混乱の後、プロジェクト リーダーは Yii フレームワークに変更されました。

3 番目の質問は上記で回答済みです。

参考文献: https ://www.limesurvey.org/

于 2015-02-07T13:57:30.953 に答える