Как выбрать облегченную версию системы баз данных - PullRequest
2 голосов
/ 07 июня 2010

Я запускаю один проект POS (Point of sale). Система таргетинга будет написана на C # .NET 2 WinForms и в качестве основного сервера базы данных. Мы будем использовать MS-SQL Server. Поскольку у нас есть много POS-устройств в цепочке для одного магазина, я буду рад, если на каждом POS-устройстве будет установлена ​​серверная локальная база данных.

Сценарий следующий: когда основной сервер выходит из строя !! Приложение POS должно продолжать работать в автономном режиме с локальной базой данных до тех пор, пока снова не установится соединение с главным сервером.

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

  1. Быть Светом "Мои POS-устройства обычно старые и страдают от выступлений"
  2. Чтобы быть свободным "У меня много устройств, и я не собираюсь оплачивать дополнительные расходы помимо основного SQL Serer"
  3. Однажды я с удовольствием попробую все эти порты в ОС Mono и Linux.

Вот что я исследовал до сих пор:

  1. Простой XML «Легко, но я боюсь производительности, моя главная таблица предметов - в среднем 10K записей»
  2. SQL-Express «Боюсь, что у моих POS-устройств плохое оборудование для SQLExpress, а также их трудно установить на каждое устройство и настроить»
  3. Менее известен Сервер баз данных Advantage имеет бесплатное распространение автономной системы ADT.
  4. DBF с расширенной библиотекой, "Уважение к старым добрым DBF, но эта эпоха позади Меня с клипером и DBF"
  5. MS Access
  6. Sqlite "В основном, как сейчас, но я боюсь, как это будет в паре с MS SQL, если они имеют одинаковые типы данных".

Я знаю, что в этом SO много субъективных данных, но, по крайней мере, кто-то может порекомендовать какую-нибудь другую облегченную систему баз данных или вещи, на которые я больше всего обращаю внимание, прежде чем я выберу базу данных.

Ответы [ 4 ]

5 голосов
/ 07 июня 2010

SQL Server Compact

Он предназначен для встраиваемых устройств (например, Windows Mobile), но также может работать на ПК. Это 2 МБ, запускается в процессе, один файл базы данных, который может иметь любое имя.

Это подразумевается как локальная высокопроизводительная база данных. Вы не можете подключиться к нему удаленно и не поддерживает хранимые процедуры или пользовательские функции.


Но чтобы ответить на ваш актуальный вопрос: как выбрать?

Выберите, что есть инструменты управления, с простым, совместимым путем обновления, когда вы перерастете его.

3 голосов
/ 07 июня 2010

Я делаю то же самое: центральный сервер, вероятно, работает под управлением MS SQL и распределенными системами, хотя они работают под управлением Linux.Мы выбрали передачу данных в формате XML и использование sqlite в распределенных системах.

Это рано, но, похоже, все идет хорошо.

Существуют привязки .net для sqlite.

Причина, по которой мы выбрали sqlite, была:

  1. , потому что не нужно никакого управления базами данных, что было бы сложнов удаленных системах.
  2. Кажется, он очень широко используется: например, Firefox использует sqlite для локального хранилища.
  3. Мы можем использовать его в Windows и Linux.
  4. Предполагается, что он хорош в том, чтобы не потерять данные при неожиданном отключении электроэнергии.
2 голосов
/ 07 июня 2010

Я использую System.Data.Sqlite, которая является оберткой ADO.Net с открытым исходным кодом для Sqlite от http://sqlite.phxsoftware.com/.. Вы можете использовать ее из Visual Studio для создания баз данных. Он поддерживает подмножество типов полей Sql Server, и написание класса интерфейса между двумя базами данных должно быть проще простого. И вы получаете преимущества простого развертывания, включив в свой проект одну DLL и однофайловую базу данных. И включает в себя шифрование тоже.

2 голосов
/ 07 июня 2010

Я бы предложил Sql Compact Edition, так как он легкий и бесплатный, поэтому он решает две из трех ваших проблем.Я понятия не имею, работает ли он на Mono .....

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

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