SQLite vs SQL Server - программирование
Подтвердить что ты не робот

SQLite vs SQL Server

Будет ли кто-нибудь продиктовать то, что лучше всего использовать SQLite или SQL Server? Я использовал XML файл в качестве хранилища данных ADD, удаляю, обновляю.. Кто-то предложил использовать SQLite для быстрой работы, но я не знакомый с SQLite, я знаю SQL Server.

4b9b3361

Ответ 1

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

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

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

SQLite обычно намного быстрее, чем SQL Server.

Однако SQLite поддерживает только один писатель за раз (что означает выполнение отдельной транзакции). SQLite блокирует всю базу данных, когда ей требуется блокировка (чтение или запись), и только один писатель может хранить блокировку записи одновременно. Из-за своей скорости это фактически не проблема для приложений с низким и средним размером, но если у вас более высокий объем записей (сотни в секунду), то это может стать узким местом. Существует ряд возможных решений, таких как разделение данных базы данных на разные базы данных и кэширование записей в очередь и их асинхронное создание. Однако, если ваше приложение, скорее всего, столкнется с этими требованиями к использованию и еще не написано для SQLite, тогда лучше всего использовать что-то вроде SQL Server с более тонкой блокировкой.

ОБНОВЛЕНИЕ: SQLite 3.7.0 добавила новый режим журнала, называемый Write Ahead Locking, который поддерживает одновременное чтение во время записи. В нашем внутреннем многокритериальном конкурентном тесте время составляло от 110 секунд до 8 секунд для той же последовательности спорных чтений/записей.

Ответ 2

Оба находятся в разных лигах. Один из них предназначен для управления данными на уровне предприятия, а другой для мобильных устройств (встроенная или серверная среда). Хотя развертывания SQLite могут хранить данные во многих сотнях ГБ, но это не то, для чего он построен.

Обновлено: чтобы отразить обновленный вопрос: Пожалуйста, прочитайте этот пост в блоге на SQLite. Я надеюсь, что это поможет вам и позволит вам получить доступ к нему из перенаправления на ресурсы для программного доступа к SQLite из .net.