2013-05-28 16 views
-2

Я занимаюсь довольно много исследований, пытаясь выяснить, какая система баз данных будет наилучшим образом удовлетворять мои потребности, но мне нужно небольшое руководство. Я пишу 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 скудна, что меня пугает. Никаких ограничений, хотя это было бы потрясающе.

Я провел много исследований, но я до сих пор не знаю, что лучше для моей ситуации.

+0

При этом, если вы используете клиент-серверное приложение .NET, используйте SQL Server. 2012, а не 2005, почему бы вы даже использовать выпуск, близкий к десятилетнему давнему? И если у ваших клиентов нет ИТ-отдела, для их размещения хостинг собственного серверного программного обеспечения кажется неправильным. Я бы подумал о том, чтобы сделать ваше приложение размещенной службой. – millimoose

+0

Я также смущен тем, почему сервер базы данных должен быть бесплатным. Вам не платят за это? Просто укажите цену лицензии для компонентов, которые вам нужны, в то, что вы выставили на счет. Тем не менее, Postgres также является опцией, но не очень проста в установке. SQL Server CE является опцией, если клиент-сервер означает, что вы также пишете серверный компонент для своего приложения, то есть ваши клиенты не открывают напрямую подключение к базе данных. Тот факт, что он основан на файлах, не имеет значения, обращается ли только к одному серверному процессу. Кроме того, 10 ГБ для «бизнес-данных» - это много. – millimoose

+0

Спасибо за советы. просто обновление для всех, кого это волнует - я остановился на SQL Server Express 2008 R2. Я заметил, что другая программа инвентаризации на рынке использовала это, поэтому я подумал, что попробую. Оказывается, это NIGHTMARE для установки. Я создал сценарий установщика для установки SQL Server без ввода пользователем (это должно быть просто.). Это было слишком сложно и сложно, хотя, поскольку 5 компьютеров с разной ОС я пытался установить его, только 2 фактически работали. Случайные ошибки с другими 3. Поэтому я решил проверить PostgreSQL, и до сих пор я очень доволен. Кажется намного проще. –

ответ

2

Я думаю, что подход, который вы принимаете, неверен. Вы просите своих клиентов установить систему и программное обеспечение РСУБД, если у них нет отдела ИТ. Кто будет поддерживать это?

Если бы это был я, я предложил бы веб-приложение с размещенной моделью, возможно, используя Windows Azure, где у вас есть единая централизованная база данных для всех ваших клиентов (создание базы данных с несколькими арендаторами), а Microsoft обрабатывает все связанные с инфраструктурой проблемы. Или зайдите с некоторым решением для хостинга третьей части, которое поддерживает SQL Server 2012 (зачем считать 2005 или 2008?). Либо было бы лучше, ИМО, чем то, что вы предлагаете. И я считаю, что было бы намного проще поддерживать и обслуживать всех ваших клиентов в этом типе настройки.