Подтвердить что ты не робот

Может ли SQLite поддерживать нескольких пользователей?

Я пытаюсь разработать приложение на базе Windows с несколькими пользователями, одновременно получающими доступ к одной базе данных. Может ли SQLite поддерживать множественный доступ за один раз? Является ли SQLite устойчивым в этом отношении? Что делает SQLite лучше или хуже MS SQL CE?

Спасибо.

4b9b3361

Ответ 1

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

Вы можете прочитать этот короткий документ для информации, когда использовать SQLite, а не: http://www.sqlite.org/whentouse.html

Ответ 2

Если одновременная запись является проблемой, вы можете посмотреть Berkeley DB. SQL API полностью совместим с SQLite. Фактически, он включает в себя верхушку исполнительного элемента SQLite для Berkeley DB, который поддерживает несколько одновременных операций записи.

Ответ 3

Да.
Из абзаца № 5 в часто задаваемых вопросах SQLite:

Несколько процессов могут одновременно открывать одну и ту же базу данных. Несколько процессов могут одновременно выполнять SELECT. Однако только один процесс может вносить изменения в базу данных в любой момент.