私は約50人の小さな会社の唯一のシステム管理者であり、仕事の完了を追跡し、そのデータに基づいてレポートを提供するための社内アプリケーションの開発を依頼されました。 Webアプリケーションとして構築する予定です。私は、MySQL、PostgreSQL、およびMSSQLの開発でほぼ同等の経験を持っています。私たちは主にWindowsベースのショップですが、WindowsとLinuxの両方のシステム管理にかなり慣れています。
これらは私の2つの最大の懸念です:
このプロジェクトには多くの予算がないので、私は上記の無料のデータベースシステムの1つでの作業に制限されています。何を選びますか?
更新: MSSQL(SQL Server Express)がWindows中心の環境で有利であるように思われることを考えると、言語の選択を再考するかもしれません。私はPHPに精通していますが、あまり好きではありません。たとえば、ASP.NETはかなり高く評価されているようです。また、VisualStudioツールについて多くの良いことを聞いています。
最も適切なスタック(したがってデータベース)は、使用されている言語に大きく依存していることがわかりました。 PHPを使い続けるなら、間違いなくLAMPスタックを使います。
Phpを使用する場合は、LAMPを使用することをお勧めします。 PHPとIISは悪夢です。PHPとMSSQLはちょっと無駄で、設定するのが少し面倒です(MSSQLがここで標準であるという理由だけで、私は実際にPHPとMSSQLを使用しています。 PHPは継承されました。特に楽しんでいません。)
それでも、このような小さなセットアップでは、最も快適なものを使用できます。 MSSQLについて私が最も楽しんでいることの1つがVisualStudioであるため、MSSQLをスキップしますが、おそらくそれはありません。そして、Apache/PhpはWindows上で適切に機能します。私はあなたの窓をくっつけることについて心配しません-LAMPマシンで同僚を使用します。 GUIをインストールする限り、GUIは簡単に管理できるはずです。
MSSQLは受け継いでいます。データベースごとに4GBの制限を超えない限り(ファイルに保存されているBLOBはカウントされませんが、すぐに違反することはないでしょう)。特にウィンドウベースであること-多くの利点(パッチ適用、簡単に拡張可能、優れた管理、保守が容易など)。
OracleXEを検討することもできますが、ご存知のとおり、Windowsの世界(.net)またはossの世界(php/Perl/python/Ruby/etc/etc)でアプリを開発していますか?あなたの開発言語がおそらく最大の決定要因になるでしょう。
.net on IIS MSSQLを使用することは明らかです。Apacheのosstechの場合はMySQLを使用します(これにより、pgsqlを知らない将来の管理者にとって簡単になります)
また、.netをmysql/pgsqlで使用し、php&coをMSSQLで使用できることは承知していますが、これは、「できるので」アカデミック以外の目的では本当にばかげた考えです。
DBのサイズについては、各DBのパフォーマンスの癖を確認することはそれほど重要ではありません。