Я единственный системный администратор в небольшой фирме, насчитывающей около 50 человек, и меня попросили разработать внутреннее приложение для отслеживания выполнения заданий и предоставления отчетов на основе этих данных. Я планирую создать его как веб-приложение. У меня примерно одинаковый опыт разработки для MySQL, PostgreSQL и MSSQL. В первую очередь мы работаем на базе Windows, но я достаточно хорошо разбираюсь в системном администрировании как Windows, так и Linux.
Это две мои самые большие проблемы:
У этого проекта не так много бюджета, поэтому я ограничен работой с одной из бесплатных систем баз данных, упомянутых выше. Что бы вы выбрали?
Обновить: Учитывая, что MSSQL (SQL Server Express), кажется, имеет преимущество в среде, ориентированной на Windows, я могу пересмотреть свой выбор языка. Я знаком с PHP, но не очень люблю его. Например, ASP.NET, похоже, пользуется большим уважением. Я также слышал много хорошего об инструментах Visual Studio.
Теперь я вижу, что наиболее подходящий стек (и, следовательно, база данных) во многом зависит от используемого языка. Если я останусь с PHP, я обязательно выберу стек LAMP.
MSSQL без рук. Если вы не превысите 4 ГБ на каждую базу данных (что не учитывает файлы, хранящиеся в файлах, кстати, - и я сомневаюсь, что вы нарушите это в ближайшее время). Особенно на основе Windows - множество преимуществ (внесение исправлений, простота масштабирования, хорошее администрирование, простота обслуживания и т. Д.).
Если вы собираетесь использовать php, вы можете использовать LAMP. Php и IIS - это кошмар. Php и MSSQL - это пустая трата времени и более чем раздражающая настройка (на самом деле я использую Php и MSSQL только потому, что MSSQL здесь стандартный, а Php унаследован. Мне это не особенно нравится).
Тем не менее, для такой небольшой настройки вы можете использовать все, что вам удобнее. Я бы пропустил MSSQL отчасти потому, что одна из вещей, которые мне больше всего нравятся в MSSQL, - это Visual Studio, а у вас ее, вероятно, не будет. А Apache / Php неплохо работает в Windows. Я бы не стал беспокоиться о том, чтобы заклеивать ваши окна коллегами с помощью машины LAMP. Пока вы устанавливаете графический интерфейс, им должно быть достаточно легко управлять.
Вы также можете рассмотреть OracleXE - но да, следуйте тому, что вы знаете, разрабатываете ли вы приложение в мире Windows (.net) или мире oss (php / perl / python / ruby / etc / etc)? ваш язык разработки, вероятно, будет самым большим решающим фактором.
Для .net на IIS, очевидно, используйте MSSQL. Для oss tech на Apache используйте MySQL (это упростит задачу любому будущему администратору, который не знает pgsql)
И я знаю, что вы можете использовать .net с mysql / pgsql и php & co с MSSQL, но это действительно глупая идея для чего-либо, кроме академического использования "потому что я могу".
Для размера БД ваш взгляд на особенности производительности каждой БД вряд ли будет иметь большое значение.