Что ж, SQLite уже блокирует файл базы данных для каждого использования, идея 1002 * заключается в том, что несколько приложений могут совместно использовать одну и ту же базу данных.
Однако документация для SQLite явно предупреждает об использовании этого по сети:
SQLite будет работать по сети
файловая система, но из-за задержки
связано с большей частью сети
файловые системы, производительности не будет
отличный. Кроме того, логика блокировки файлов
много сетевых файловых систем
реализация содержит ошибки (на обоих
Unix и Windows). Если блокировка файла
не работает как надо, может
возможно для двух или более клиентов
программы для изменения той же части
та же база данных в то же время,
что приводит к повреждению базы данных.
Потому что эта проблема является результатом ошибок
в базовой файловой системе
реализация, нет ничего
SQLite может сделать, чтобы предотвратить это.
Хорошее эмпирическое правило заключается в том, что вы
следует избегать использования SQLite в
ситуации, когда одна и та же база данных
будет доступен одновременно из
много компьютеров по сети
файловая система.
Итак, если ваши «2-4 человека» находятся на разных компьютерах и используют общий сетевой ресурс, я бы порекомендовал вам не использовать SQLite. Вместо этого используйте традиционную клиент-серверную СУБД, которая предназначена для нескольких одновременных подключений с нескольких хостов.
Вашему приложению по-прежнему нужно будет учитывать проблемы параллелизма (если только он не спекулятивно получает блокировки на то, на что смотрит пользователь в данный момент, что обычно является плохой идеей), но, по крайней мере, вам не придется сталкиваться с проблемами блокировки сетевой файловой системы. а также .