C # Параллельный доступ к файлу LiteDB по сети - PullRequest
0 голосов
/ 19 апреля 2019

Я разрабатываю программу на C #, которая использует LiteDB для хранения данных.На этапе проектирования мне сказали, что это будет однопользовательское приложение, поэтому LiteDB показалось мне довольно хорошим решением.Раньше у меня не было опыта работы с LiteDB.

Однако недавно мне сообщили, что программе необходимо поддерживать доступ нескольких пользователей к одной базе данных и запись в нее по компьютерной сети.Я знаю, что LiteDB не был разработан для такого использования, поэтому очевидным решением было бы переключиться на любую другую серверную СУБД, такую ​​как MySQL.

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

Мой первый вопрос: будет ли возможным следующее с LiteDB:

  1. До 20 экземпляров программыдоступ к файлу базы данных по сети примерно в одно и то же время и получение данных.После получения данных соединение с базой данных закрывается.В базу данных не вносятся изменения.
  2. До 20 экземпляров программы примерно одновременно получают доступ к файлу базы данных по сети и фиксируют изменения.После записи данных соединение с базой данных закрывается.Нет чтения каких-либо данных из базы данных.

Я хочу знать, возможен ли хотя бы один из этих двух вариантов.И если нет, что я должен использовать в качестве альтернативы?Я работаю в компании, так что это может быть истолковано как коммерческое использование, которое ограничивает диапазон СУБД, которую я могу использовать.

LiteDB чрезвычайно привлекателен для меня, поскольку позволяет очень легко хранить данные, которые находятся в моемcase являются экземплярами классов, которые включают в себя другие экземпляры классов в качестве свойств.

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

...