SQLite не подходит для клиент-серверного приложения? - PullRequest
0 голосов
/ 18 октября 2011

База на артикуле http://www.codeproject.com/KB/cs/SQLiteCSharp.aspx

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

Правда ли, что SQLite не подходит для приложения клиент-сервер? потому что я хочу разработать книжный магазин и приложение для караоке? Если SQLite не подходит, какие базы данных подходят, какие автономные, без сервера, с нулевой конфигурацией?

Ответы [ 2 ]

1 голос
/ 18 октября 2011

FAQ по SQLite 1002 * говорит:

(5) Могут ли несколько приложений или несколько экземпляров одного приложения одновременно обращаться к одному файлу базы данных? Несколько процессов могут одновременно открывать одну и ту же базу данных. Несколько процессов могут выполнять SELECT одновременно. Однако только один процесс может вносить изменения в базу данных в любой момент времени.

Более подробная информация находится по ссылке.

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

1 голос
/ 18 октября 2011

Если вы работаете только в одном потоке, а ваше приложение в противном случае достаточно быстрое, чтобы обслуживать все запросы, то все в порядке. Как вы заметили, проблемы возникают при многопоточности или одновременной записи нескольких пользователей (обычно через несколько потоков).

Мой ответ на на этот вопрос более подробно описывает некоторые проблемы с блокировками баз данных и т. Д., О которых вы уже намекали в SQLite.

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