- ベストアンサー
Webでデータベース
データベース初心者です。 Webでデータベース系のソフトを作る場合、どのような言語を使えばいいのでしょうか? JSP, JavaSevlet, PHP, asp, perl等 ありますが、「動作速度が速い」や「セキュリティが強力」などの各言語の特徴を簡単にご紹介して頂けると助かります。 業務用のソフトで数万~数十万程度のデータを扱うと思うのですが、 何かアドバイスがありましたらお願い致します。 失礼致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
がると申します。 とりあえず…業務で使うなら「プロに相談しましょう」。 ネットで質問しつつ自学自習で…というパターンでまっとうに構築できたケースをあまり見た事がないので。 というお話を前提に「とりあえず小ネタ的知識」として。 言語によるセキュリティの差異は、さほど大きくないです。セキュリティの場合、設計者、コーディング者、使用するフレームワーク(或いはライブラリ)による差異のほうが遙かに大きいです。 動作速度については…状況如何にもよるのですが。ある程度までは「マシンにお金を積めば早くなる」ので、速度よりはメンテナンス性であるとか、要員確保の容易性とか、そのあたりを基準に考察された方がよろしいかと思います。 ちなみに「本気で速度を追い求める」ならC言語あたりでCGI組んでください。スキルのある人間がちゃんと組めば、異様なほど早くなります。 以上、あまり参考にならないであろう書き込みで恐縮ですが。
その他の回答 (3)
- uki629
- ベストアンサー率23% (40/172)
速度に関しては 共有スペースやVPS(ハード的にリソースを論理的に分割される。)ではなくて 専用サーバ(特にDBを使うとなるとメインメモリが多めだとさらに良い)をホスティングして帯域保障をつければ下手くそなプログラムでなければ速度は出るでしょう。 >業務用のソフトで数万~数十万程度のデータを扱うと思うのですが、 これってデータペースの更新(or 追加)?それとも検索? プログラム的処理よりDBそのものの処理の方が処理時間がとられそうな気がしますね。 検索で結果の表示ですけど >数万~数十万程度のデータを扱う としても一度に表示するわけではないですよね。 もちろんLIMIT/ROWNUM BETWEENなどDBによっては差異があるけど そのような機能を使いますよね。 セキュリティーに関してはプログラマの力量しだい。 特に#1さんの書かれているCはそれがよく出る。 他の言語ではポインタを使えない分Cよりはましかな。
お礼
回答ありがとうございます。 専用サーバをホスティングして帯域保障。。。参考になりました。 作ろうと思っているのは業務用のソフトで更新、追加、検索が入ってくるので、仰るとおりDBの処理に時間がかかると思います。 もう少しDBやセキュリティについて勉強しようと思います。 ありがとうございました♪
- dhjas
- ベストアンサー率50% (4/8)
業務で使うなら、ちゃんとした業者に頼むべきです。以上。 という事でほぼ結論なのですが(笑)、身も蓋も無いのでご質問内容にもちょっと答えてみます。 JSP, JavaSevlet : 学習コストやや高め。セキュリティは作り方次第。 PHP : 作るだけなら学習コストは低め。セキュリティは物 凄く作り方次第。 Perl : PHPよりは少し学習コスト高め。セキュリティは作り方次第。 asp : 使ったこと無いので知りません。 動作速度もセキュリティも、最近では言語の選択にはよらないかと。
お礼
回答ありがとうございます。 どれも多少かじった程度しかやっていなかったので、とても参考になりました。セキュリティは作り方次第で変わってくるのですね。もっと勉強してみます。 参考になりました♪
- inu2
- ベストアンサー率33% (1229/3720)
>Webでデータベース系のソフトを作る場合 これは、DBを利用したwebアプリ と理解させていただきます。 セキュリティに関しては言語の差異よりも、作る人がどれだけ意識できるか。のほうが問題になってくると思います。 セキュリティに関しては、四六時中意識しておかなければならないにもかかわらず、ずぼらな設計や実装を行うとどんな言語でも穴だらけのシステムが出来上がります。 No1の方もおっしゃっていますが、動作速度についても、言語やSQLに対するスキルが高い人や高度な設計、実装を行える人であれば、ある程度速度を上げる(チューニング)ことは可能ですが、サーバーそのもののスペックを超えることは出来ません。 ましてや、数万~数十万というレコードを扱うのであれば、ソフトウェアの処理限界よりもハードウェア(ネットワークやサーバー)の処理限界のほうがボトルネックになるかと思います。 言語の速度やセキュリティにばかり気をとられていると、人材の確保や金銭的な事で頭を悩ますことになりかねません。 つまり、どんなに早くてセキュリティがしっかりした言語だとしても、その言語を扱える人が極端に少ない or 居たとしても人件費がめちゃくちゃ高い 等の理由でプロジェクトそのものが成り立たないっていう事にもなりかねません。 しかし、広く使われている言語の場合は、安い人件費だけで集められるからといって 新人や、なんちゃってエンジニア、独学レベルの人材だけで構築するというもの又無理な話ですので、その辺も加味して選択してください。 と、ここまで散々言ってきましたけど、もしかして 個人レベルで独学状態ではじめるにはどういった言語がいいのでしょうか? という感じの質問でしたか? >業務用のソフトで数万~数十万程度のデータ とありましたので、「業務で使うには」という前提で私の経験からお話させていただきました。 参考になれば幸いです。
お礼
回答ありがとうございます。 個人レベルで独学状態ではじめる。。。というつもりでしたが。 自分にはまだ、アプリの規模感や知識が圧倒的に不足しているようですね。 一応、業務ソフト系の会社に勤めてはいるのですがもう少し周りの方などに相談してみます。 参考になりました♪
お礼
回答ありがとうございます。 少し自分の考えが甘かったようです。。。 知りたい内容を整理して、プロの方にじっくりと話を聞くのがよさそうですね。 参考になりました♪