Легкая база данных SQL со строгой типизацией и без ограничений по размеру

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

  1. SQLite
  2. SQL Server Compact Edition

На первый взгляд, это довольно хорошие варианты для меня, поскольку они поддерживают большинство необходимых мне дополнительных функций (таких как параллелизм, транзакции и т. Д.), Не требуя отдельной установки сервера базы данных. Однако у каждого из них есть серьезный недостаток:

  1. SQLite использует динамическую типизацию, что означает никаких ошибок не будет, если вы попытаетесь вставить неправильный тип данных в столбец. Дополнительная проверка данных - это половина причины, по которой я в первую очередь использую базу данных.
  2. SQL Server CE имеет ограничение на размер 4 ГБ.

Существуют ли какие-либо другие механизмы баз данных, которые можно использовать в контексте .NET, которые можно развернуть "xcopy"?


person Phil    schedule 12.10.2012    source источник
comment
Должна ли база данных быть реляционной?   -  person driis    schedule 12.10.2012
comment
Динамически типизированный - не значит слабо типизированный, это означает, что вам нужны хорошие модульные тесты. ORM позаботится о большинстве ваших трудностей с набором текста.   -  person Tony Hopkinson    schedule 12.10.2012
comment
@TonyHopkinson По большей части я согласен. Однако вполне вероятно, что люди будут получать доступ к этой базе данных извне моего программного обеспечения, а это означает, что я не буду контролировать весь код, работающий с базой данных. Также, если случайная ошибка каким-то образом попадает в производство, я хочу, чтобы база данных отловила ее. Дополнительный уровень безопасности.   -  person Phil    schedule 12.10.2012
comment
@Фил. Согласовано. Если у вас нет контроля над доступом к базе данных SqlLite, это не вариант.   -  person Tony Hopkinson    schedule 13.10.2012
comment
Когда вы говорите, что другой код будет работать с базой данных, это правильно? Ни один из них не является хорошим решением, если задействован удаленный доступ.   -  person Tony Hopkinson    schedule 13.10.2012


Ответы (1)