Может ли SQLite поддерживать нескольких пользователей? - PullRequest
43 голосов
/ 24 февраля 2011

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

Спасибо.

Ответы [ 3 ]

54 голосов
/ 24 февраля 2011

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

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

11 голосов
/ 25 февраля 2011

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

10 голосов
/ 24 февраля 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...