Легкая база данных SQL, которая не требует установки

Не могли бы вы рекомендовать легкую базу данных SQL, которая не требует установки на клиентский компьютер для работы и может быть легко доступна из приложения .NET? Требуются только базовые возможности SQL.

Теперь я использую базу данных Access в простых проектах и ​​распространяю файлы .MDB и .EXE. Поиск любых альтернатив.

Ответ 1

Зависит от того, что вы подразумеваете под легким весом. Легко на Рам? Или более легкий db файл? Или более легкий разъем для подключения к db? Или меньше файлов по всему? Я дам сравнение того, что знаю:

                    no of files    cumulative size of files    db size

Firebird 2.5             5                6.82 MB               250 KB

SqlServerCe 4            7                2.08 MB               64 KB

Sqlite 3.7.11.0          1                0.83 MB               15 KB

VistaDb 4.3.3.34         1                1.04 MB               48 KB

no of files - includes the .net connector and excludes the db file

dbs имеют 1 таблицу с 2 столбцами и 2 строками. Примите размер db с щепоткой соли, поскольку dbs могут расти по-разному с дальнейшим использованием. Например, SqlServerCe, хотя первоначально он был 64 KB, он не увеличился вообще после добавления нескольких сотен записей, тогда как VistaDb легко увеличился с 48 до 72 до 140 КБ. SQLite был лучшим в этом отношении, который начинался с самого низкого уровня и рос линейно.

Несколько анекдотов: у меня была лучшая производительность с использованием SqlServerCe с настройками factory, что означает, что ее можно было легко запускать без какой-либо конфигурации, в то время как я нашел Firebird немного сложнее, чтобы запустить его из-за отсутствия онлайн-материалов. Firebird, как я мог прочитать, имел самое широкое стандартное соответствие sql. Хотя VistaDb написан на полностью управляемом С#, что означает, что он может быть объединен с вашей сборкой приложений, чтобы иметь один файл, это показалось мне самым медленным. Из всего, учитывая производительность, легкость и размер, я выбрал SQLite. SqlServerCe будет моим вторым выбором.

Короче каждый имеет свои плюсы и минусы. Опять же, возьмите мое разглагольствование с щепоткой соли, это мой личный опыт.

Ответ 2

Отметьте SQLite, это библиотека программного обеспечения, которая реализует автономный, безсерверный, нулевой конфигурации, механизм транзакций SQL.

У него много wrappers для .NET

Ответ 3

Howabout SQL Server 3.5/2008 Compact Edition? Чистая встроенная версия SQL Server.

http://www.microsoft.com/Sqlserver/2008/en/us/compact.aspx

Хорошо работает с .NET, и, конечно же, все ваши обычные инструменты и скрипты SQL Server работают нормально.

Ответ 4

Вы можете посмотреть VistaDB, если вы пишете в .NET. Это управляемый код на 100%, содержит истинную ссылочную целостность, хранимые процедуры tsql, процессы clr и многое другое в одной сборке, которую вы можете выполнить xcopy.

VistaDB работает на сайтах asp.net с общим хостингом под средним доверием, а также в доменах активных каталогов как гостевые (без локальных разрешений).

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

Поддержка 32/64 бит включена в единую сборку. Двигатели смешанного режима с неуправляемым кодом обычно требуют, чтобы вы отправляли более одной версии неуправляемого кода для поддержки 32 и 64 бит или перекомпилировали для конкретных целей ЦП.

Для получения дополнительной информации см. Преимущества VistaDB.

http://www.vistadb.net

Ответ 5

SQLite отлично.

Также проверьте Firebird. Это может быть лучшим вариантом, если несколько пользователей должны получить доступ к базе данных в будущем.

Ответ 6

SQLite будет тем, что вы после

Ответ 7

Вы можете хранить свои данные в виде файлов JSON. Если вам нужно быть автономным, существуют решения dll, такие как IODB и LiteDB