Рекомендуемая база данных SQL для коммерческого продукта - PullRequest
0 голосов
/ 16 февраля 2010

У нас есть коммерческий продукт, который использует Access Database. Из-за ограничений и искажений, связанных с многопользовательскими средами, мы решили перейти на SQL Express. Однако теперь, когда дело касается нас, развертывание SQL Express 2005/2008 - это кошмар. Список зависимостей, от которых они зависят, просто продолжает расти. Кто-нибудь может порекомендовать альтернативные варианты SQL Express, который

  1. Простота развертывания
  2. Имеет все функции SQL Express
  3. Простое резервное копирование
  4. При необходимости может быть перенесен в SQL Server Edition.
  5. имеет небольшой размер

Любая помощь приветствуется.

Обновление: наша текущая установка SQL Express выполняется с помощью стороннего установочного пакета, поэтому конечный пользователь не видит экран установки, связанный с SQL Express. И да, это должен быть один пакет, нажмите и волшебным образом приложение появится на рабочем столе типа установки. Наши конечные пользователи просто недостаточно опытны. Из моего недавнего опыта нашего развертывания, SQL Express inntaller имеет слишком много зависимостей. Если я включу все это в мою установку, это приведет к ненужному увеличению размера моей установки.

Ответы [ 7 ]

5 голосов
/ 16 февраля 2010

Возможно, вы не найдете что-то с тем же набором функций, что и в SQL Express. Однако SQLite соответствует как минимум 1, 3 и 5 и очень популярен (в том числе с проприетарными приложениями, такими как Mac OS и Skype).

2 голосов
/ 16 февраля 2010

PostgreSQL или Firebird.

2 голосов
/ 16 февраля 2010

Практически все ваши требования довольно субъективны.

  1. Насколько просто в развертывании это нужно?XCopy?Полностью автономный MSI?Нет внешних зависимостей?
  2. Все из них?Можете ли вы составить список функций, которые вам нужны?Ни у одного другого продукта нет точного соотношения функций с SQL Express.Например, вам действительно нужен компонент Service Broker?
  3. Опять же, как просто ?Вам нужен управляемый интерфейс или будет работать процедурная команда SQL?
  4. С какой точки зрения?Если вы говорите только о перемещении файлов, тогда Express - единственный вариант.Если вы говорите о возможности импорта и экспорта данных, это полностью ваше дело.
2 голосов
/ 16 февраля 2010

Это будет проблемой:

Имеет все функции SQL Express

Действительно, если вы хотите добиться успеха, вам нужно точно определить, что вам нужно.

Я имею в виду, что база данных Access, с которой вы переместились, не реализовала все функции MS SQL Express, не так ли?

Я могу записать огромный список бесплатных баз данных с открытым исходным кодом, которые вы могли бы использовать, но не имеет смысла, если неясно, какие функции вы делаете, а какие вам не нужны.

1 голос
/ 16 февраля 2010

Sqlite - это встраиваемая БД с открытым исходным кодом, очень быстрая, функциональная и переносимая. Это позволяет вам создавать базы данных на вашем локальном компьютере с Windows, копировать их и использовать на удаленном хосте Linux.

Вот некоторые высокоуровневые привязки с открытым исходным кодом c # sqlite , которые могут запускаться кроссплатформенно в Windows / Linux с использованием той же базы данных. Если вам интересно, посмотрите примеры онлайн-сервиса sqlite *

.
0 голосов
/ 16 февраля 2010

На какие зависимости вы ссылаетесь?Конечно, Management Studio нужна платформа .NET, но в наши дни это вряд ли неразумно.

SQL Express - это не отдельный продукт, который можно мигрировать на SQL Server, он является SQL Server,но с некоторыми ограничениями.

Я управляю небольшой компанией, и мы используем SQL Server для наших крупных клиентов, у которых обычно уже есть лицензия, и SQL Express (05 или 08) для наших меньших, которые, вероятно, выигралибаза данных больше 4 ГБ, что является основным практическим ограничением.

Развертывание тривиально - установщик просто работает, а миграция на SQL Server - не более, чем резервное копирование и восстановление, или даже всего лишьустановка SQL Server и просто присоединение существующей базы данных.

Серьезно, расскажите нам больше об этих зависимостях - возможно, вы пытаетесь решить не ту проблему.Я лично сделал много установок SQL Express, и я не могу думать о том, что это было хлопотно.

Резервное копирование легко - вы можете использовать студию управления или свернуть свою собственную.Маленький след, ну как маленький?

0 голосов
/ 16 февраля 2010

Лучший вариант, который я нашел, это VistaDB .

Он поддерживает (в основном) все 5 ваших требований.

Для 1 и 3 - Развертывание основано исключительно на xcopy, поэтому его очень легко развернуть и создать резервную копию (однофайловая БД).

2 и 4 являются самыми хитрыми (с любой БД), поскольку даже миграция SQL Express на SQL Server не является полностью гладкой (хотя и очень близкой). VistaDB может мигрировать легче, чем любая другая БД, которую я видел, поскольку она использует синтаксис SQL Server практически для всего ... Она также поддерживает "реальные" функции БД SQL Server, такие как внешние ключи, хранимые процедуры, T -SQL и т. Д.

5 - это небольшая управляемая сборка (1,121 КБ в моей версии).

Основная проблема (потенциально) здесь заключается в том, что это 100% управляемая база кода, поэтому, если вы не используете .NET, не обращайте внимания на это предложение. Однако, если вы используете C # или VB.NET, VistaDB работает очень хорошо для ваших требований.

...