Я занимаюсь довольно много исследований, пытаясь выяснить, какая система баз данных будет наилучшим образом удовлетворять мои потребности, но мне нужно небольшое руководство. Я пишу VB.Net program
, который отслеживает инвентарь, который будет использоваться малыми предприятиями. Я буду использовать модель типа клиентского сервера, с 1 компьютером в сети, действующей как сервер, остальные клиенты. Среднее количество клиентских компьютеров, вероятно, будет 2-5 или около того. Больше всего будет 10-15. Сейчас я использую БД Access, хранящуюся на жестком диске сети, но этот способ медленнее и не очень стабилен. Доступ был первой БД для меня, чтобы узнать, как программировать, поэтому я использую его сейчас, но я знаю, что мне нужно изменить это в будущем.Какую систему баз данных я должен использовать?
Требование:
Я хочу, чтобы процесс установки будет легко и просто потому, что эти предприятия будут иметь ни один сервер базы данных ИТ отдела не должно быть установлен вместе с установкой программы.
Элементы и клиенты будут постоянно добавляться, поэтому ограничения по размеру базы данных меня немного беспокоят, так как я не хочу иметь проблемы позже, когда размер базы данных будет максимальным.
Вот что я собрал около следующих типов БД:
доступа: Что я использую сейчас. основанный на файлах. не предназначен для нескольких пользователей, использующих 1 БД.
MySQL: Открытый исходный код, но, похоже, распространение с программой требует лицензирования, так что это не так. Я бы хотел, чтобы это был вариант, но мне нужно бесплатно.
SQL Server EXPRESS 2005/2008: Отсутствует лицензия, также 2008 R2 имеет ограничение 10gb. На данный момент я склоняюсь к этому. Кажется, это самая простая интеграция с VB.Net & Visual Studio. Предварительные требования доступны в Visual Studio (для SQL Server 2005), поэтому сервер SQL будет установлен во время установки программы.
SQL Server CE: файл на основе db. возможно, не лучший выбор для настройки клиент/сервер? Возможно, не лучше, чем использовать Access сейчас. Поправьте меня если я ошибаюсь.
Firebird: Я вижу, что другие программы используют его в настройках типа клиент/сервер, но он похож на файл на основе db? Также похоже, что поддержка vb.net + firebird скудна, что меня пугает. Никаких ограничений, хотя это было бы потрясающе.
Я провел много исследований, но я до сих пор не знаю, что лучше для моей ситуации.
При этом, если вы используете клиент-серверное приложение .NET, используйте SQL Server. 2012, а не 2005, почему бы вы даже использовать выпуск, близкий к десятилетнему давнему? И если у ваших клиентов нет ИТ-отдела, для их размещения хостинг собственного серверного программного обеспечения кажется неправильным. Я бы подумал о том, чтобы сделать ваше приложение размещенной службой. – millimoose
Я также смущен тем, почему сервер базы данных должен быть бесплатным. Вам не платят за это? Просто укажите цену лицензии для компонентов, которые вам нужны, в то, что вы выставили на счет. Тем не менее, Postgres также является опцией, но не очень проста в установке. SQL Server CE является опцией, если клиент-сервер означает, что вы также пишете серверный компонент для своего приложения, то есть ваши клиенты не открывают напрямую подключение к базе данных. Тот факт, что он основан на файлах, не имеет значения, обращается ли только к одному серверному процессу. Кроме того, 10 ГБ для «бизнес-данных» - это много. – millimoose
Спасибо за советы. просто обновление для всех, кого это волнует - я остановился на SQL Server Express 2008 R2. Я заметил, что другая программа инвентаризации на рынке использовала это, поэтому я подумал, что попробую. Оказывается, это NIGHTMARE для установки. Я создал сценарий установщика для установки SQL Server без ввода пользователем (это должно быть просто.). Это было слишком сложно и сложно, хотя, поскольку 5 компьютеров с разной ОС я пытался установить его, только 2 фактически работали. Случайные ошибки с другими 3. Поэтому я решил проверить PostgreSQL, и до сих пор я очень доволен. Кажется намного проще. –