Выбор между SQL Server Express и SQL Lite

У меня есть требование к проекту, чтобы выбрать легкую базу данных для приложения.

Требуется выбрать между SQL Server Express Edition или SQLLite. Какой из них был бы эффективным и надежным. Я должен запустить его под Windows 7/Windows 2008 R2. Я новичок в программировании базы данных. Было бы полезно, если бы вы могли поделиться некоторой информацией в терминах

  • Надежность
  • Устойчивость
  • Ограничения по размеру
  • Потребление памяти
  • Производительность

Ответы

Ответ 1

SQL Server Express и SQLite не являются действительно сопоставимыми системами баз данных.

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

  • SQLite - это компактная база данных в процессе, которая часто используется в приложениях, которые получают доступ к базе данных на базе SQL, однако не представляется возможным установить полную автономную базу данных наряду с приложением. Например, Firefox использует SQLite для хранения закладок, а Adobe Lightroom использует его для хранения своего каталога фотографий, есть также несколько мобильных (например, iPhone) приложений, которые используют SQLite.

Microsoft, эквивалентный SQLite, будет SQL Server compact edition (CE), который можно распространять и использовать. SQL Server CE очень похож на SQLite в большинстве случаев.

Аналогично, эквивалент не-Micrososft SQL Server (как версия Express, так и полная версия), вероятно, будет MySQL.

Хотя есть кроссоверы (вы можете создать небольшое веб-приложение, использующее SQLite, или большое настольное приложение, которое требует от пользователей установки SQL Express), как правило, выбор между двумя типами системы баз данных (in-process vs standalone сервер базы данных) зависит от типа разрабатываемого приложения.